如何使用Linux终端将命令输出保存到文件

我们知道,当我们在终端(Linux命令行)中执行命令时,该命令将被执行并将结果输出到终端本身。不能立即显示输出,特别是如果您保存输出以备后用。幸运的是,Linux bash和所有操作系统bash都具有将命令输出定向到指定文件的能力。本文处理两个任务:

  • 将命令输出保存到文件
  • 在终端中打印输出并保存到文件

本文中描述的命令在Ubuntu 18.04 LTS系统上运行。

将命令输出保存到文件

运行一些示例,其中命令的输出以指定的文件名保存。

创建新文件/替换现有文件

要将命令的输出保存到新文件,或将现有文件的内容替换为命令的输出,请使用以下语法:

$ [command] > [/filelocation/filename]

例如,使用lscpu命令(显示系统信息)将该信息输出到名为systeminformation.txt的文件中。该文件在系统上尚不存在。

将命令输出重定向到文件

当您从文件管理器访问此文件时:

文件内容显示在编辑器中

将输出追加到现有文件

如果要在不更改现有内容的情况下将Linux命令的输出保存到文件,则可以使用以下语法:

$ [command] >> [/filelocation/filename]

例如,以下命令将ls命令的结果附加到现有文件systeminformation.txt的末尾。

将命令输出重定向到文件并添加内容

下一个仅包含系统信息的文件,也包含ls命令的输出。

结果

在终端中打印输出并保存到文件

您可能已经注意到,上面的命令仅将输出保存到文件,而没有将其打印到终端本身。如果还希望在终端中显示命令的输出,请使用以下语法:

$ [command] | tee [/filelocation/filename]

例如,下图中回显的文本在终端中回显,并且也输出到文件myfile.txt。

使用tee命令

这些是命令生成的文件的内容。

使用tee命令将输出输出到文件

将命令输出附加到现有文件。请遵循以下语法:

$ [command] | tee -a [/filelocation/filename]

例如,下图显示了如何回显更多文本并将其添加到现有文件。

使用tee命令的其他选项

该文件如下所示:

使用tee命令添加文本

本文中生成的这些面向输出的文本文件有时比终端上的常规输出输出有用得多。这就是Ubuntu bash的强大功能。

如何使用Linux终端将命令输出保存到文件

Sidebar