如何使用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