大家都知道,當您在 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 的力量!