Save 將命令從 Debian 終端輸出到文件

我們都知道在 Debian 命令行終端中運行命令如何導致命令執行並在終端本身中打印結果(如果有的話)。 有時,這種立即顯示輸出是不夠的,特別是如果我們想保存輸出以供以後使用。 幸運的是,Linux bash 和所有操作系統 bash就此而言,它具有將命令的輸出打印到指定文件的能力。 在本文中,我們將處理以下兩種情況:

  • 將命令輸出保存到文件
  • 在終端中打印輸出,然後將其保存到文件中

我們已經在 Debian 11 Bullseye 系統上運行了本文中提到的命令和過程。

將命令輸出保存到文件

我們將運行一些示例,其中命令的輸出將保存到我們指定的文件名。

為了打開終端,通過 Super/Windows 鍵訪問應用程序啟動器搜索,然後搜索終端,如下所示:

創建新文件/替換現有文件

如果要將命令的輸出保存到新文件或用命令的輸出替換現有文件的內容,請使用以下語法:

$ [command] > [/filelocation/filename]

為了 example,我將使用 lscpu 命令(顯示系統信息),然後將其內容打印到名為 systeminformation.txt 的文件中。 我的系統上尚不存在此文件。

$ lscpu > /home/sana/systeminformation.txt

當我通過文件管理器訪問這個文件時,它看起來像這樣:

將輸出附加到已經存在的文件

如果您想將 Linux 命令的輸出保存到文件中而不弄亂其現有內容,可以使用以下語法:

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

為了 example,以下命令會將 ls 命令的結果附加到我已經存在的文件 systeminformation.txt 的末尾。

$ ls >> /home/sana/systeminformation.txt

以下文件曾經只包含我的系統信息,現在也包含我的 ls 命令的輸出:

在終端上打印輸出並將其保存到文件

您可能已經註意到,我們上面提到的命令僅將輸出保存到文件中,而不會在終端本身上打印它們。 如果您還想在終端上查看命令的輸出,請使用以下語法:

$ [command] | 球座 [/filelocation/filename]

為了 example,我們想要在下圖中回顯的文本現在將在終端上回顯並打印到文件 myfile.txt。

$ echo "print this text to my file" | tee /home/sana/myfile.txt

這些是通過命令生成的文件的內容:

如果要將命令的輸出附加到已經存在的文件中。 請遵循以下語法:

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

為了 example,下圖顯示瞭如何回顯更多文本,然後將其添加到我已經存在的文件中:

$ echo "here is some more text for printing" | tee -a /home/sana/myfile.txt

這是文件現在的樣子:

我們通過本文生成的這些面向輸出的文本文件在某些​​情況下可能比在終端上通常打印輸出更有用。 這就是 Debian 的強大之處 bash 是!