在 Bash ( Linux和 macOS 终端) 中,如何将命令的输出保存到文件中

分享于 

3分钟阅读

Mac

  繁體

在bash提示符下运行命令时,它通常将该命令的输出直接打印到终端,可以立即读取它,但是bash还允许你"重定向"命令的输出,将它保存到一个文本文件中,以便稍后查看输出。

选项一:将输出重定向到一个文件

要使用bash重定向,请运行命令,指定>>>操作符,然后提供希望输出重定向到的文件的路径。

  • >将命令的输出重定向到文件,替换文件的现有内容
  • >>将命令的输出重定向到文件,将输出追加到文件的现有内容
  • 下面是一个简单的示例,ls命令列出当前目录中的文件和文件夹,运行以下命令时,ls将列出当前目录中的文件和文件夹,但它不会打印到屏幕上,会保存到你指定的文件中。

    ls > /path/to/file

    指定有效路径,bash将在该位置创建文件。

    如果查看文件的内容,会看到ls命令的输出,例如,cat命令将文件的内容打印到终端:

    cat /path/to/file

    记住,>操作符使用命令的输出替换文件的现有内容,如果要将多个命令的输出保存到单个文件中,可以使用>>运算符代替,例如,以下命令将系统信息追加到指定的文件中:

    uname -a >> /path/to/file

    如果文件不存在,bash将创建该文件,

    查看文件内容时,你将看到第二个命令的结果被追加到文件末尾:

    可以多次重复此过程,以便将输出追加到文件末尾。

    选项二:正常打印输出并将它重定向到文件

    你可能不喜欢使用>>>操作符重定向输出,因为在终端中看不到命令的输出,这就是tee命令的作用,tee命令将接收到的输入打印到屏幕上,同时将它保存到文件中。

    要通过管道将命令的输出传递给tee,将其打印到屏幕并将其保存到文件中,请使用以下语法:

    command | tee /path/to/file

    这将用命令的输出替换文件中的内容,就像>操作符一样。

    要通过管道将命令的输出传递给tee,打印到屏幕并将它保存到文件,但将它附加到文件的末尾:

    command | tee -a /path/to/file

    这会将输出附加到文件末尾,就像>>操作符一样。


    COM  文件  COMM  mac  Comma  OUT  
    相关文章