Contents

如何在 Windows、Mac 和 Linux 上將命令行輸出保存到文件

當您運行終端命令時,它通常會在終端中打印輸出,以便您可以立即閱讀。但是,您有時會想要保存輸出以便稍後分析或將其與其他工具結合使用。

您可以利用命令行上的輸出重定向將操作系統中命令的輸出重定向到指定的文本文件。了解在 Windows、macOS 和 Linux 中將命令結果定向到文件的方法。

將命令行輸出重定向到文件

“>”運算符和“»”運算符。雖然兩者的用途相似,但理解它們的差異對於防止任何意外的數據丟失至關重要。

該符號用於創建新文件或覆蓋已存在的文件。另一方面,雙大於號 (») 允許創建新文件(如果當前不存在);但是,它不會覆蓋任何預先存在的文件。如果文件已存在,它會將內容添加到其結論中,而不是替換任何當前數據。

首先,輸入所需的命令,然後,根據您是否希望覆蓋現有文件或附加內容分別使用大於符號“>”或向右箭頭“»”,最後提供您想要的文件路徑用於定向輸出。作為說明,請考慮保存由

 ls > /path/to/file 

通過提供完整路徑來替換位於“/path/to/file”的文件

要訪問終端環境中特定文件的內容,可以使用“cat”命令,並指定指向該文件的完整目錄路徑。值得注意的是,“/path/to/file”應該替換為文件位置的準確表示,以便正確執行操作。

 cat /path/to/file 

您應該在更新的文檔中觀察命令的結果:

/bc/images/redirecting-ouput-of-ls-into-a-file.jpg

“>”符號用於用一個命令或一系列命令生成的輸出覆蓋現有文件的內容。另一方面,如果您希望不間斷地將所有以前執行的命令及其輸出保留在單個文件中,建議使用“»”運算符,它將新數據附加到文件而不是替換整個文件。

將系統信息合併到先前生成的文件中是一種可行的方法。為此,請在 Linux 或 Mac 操作系統中執行“uname-a”命令,或者在 Windows 系統中使用“ver”命令。接下來,將“»”運算符合併到文件路徑旁邊,如下所示:

 uname -a >> /path/to/file 

要無限期地繼續更新日誌文件的內容,請重複將新命令輸出附加到其末尾的操作,並進行認為必要的任意重複次數。這允許在指定文件中維護事件或數據的持續記錄。

/bc/images/appending-output-to-a-file.jpg

將輸出打印到屏幕並將其重定向到文件

重定向器“”不會在終端中顯示命令的結果;相反,他們將其保存到文件中。要同時查看文件中保存並顯示在屏幕上的輸出,請使用“tee”命令。

要使用“tee”命令,必須通過管道符號(表示為豎線(“|”))將另一命令生成的輸出重定向到該命令。作為說明,請考慮以下實例,其中“ls”命令生成的結果通過管道傳輸到“tee”命令進行處理:

 ls | tee /path/to/output.txt 

使用“tee”命令可以在終端上顯示輸出並同時寫入指定文件。與使用大於號 ( > ) 重定向輸出類似,此方法會覆蓋目標文件(如果目標文件已存在)或創建一個新文件(如果不存在)。

要利用“tee”命令在屏幕上顯示輸出,同時將其附加到指定文件的末尾,應在文件路徑前麵包含“-a”標誌,如以下語法所示:

 uname -a | tee -a /path/to/output.txt 

您將觀察顯示器上顯示的命令的輸出,並使用“cat”命令來確認“tee”也已將其包含在文檔中。

/bc/images/appending-output-to-a-file-with-the-tee-command.jpg

利用命令行的強大功能

利用命令行操作的多功能性,存在多種將標準輸出和錯誤消息定向到文件的方法。此功能可以增強對系統事件的監控、集成多個來源的信息等等。

除了僅僅存儲輸出之外,該終端還提供了廣泛的可能性。儘管最初掌握熟練程度可能會帶來巨大的挑戰,但命令行指令是通用的、可組合的,並且通常比圖形用戶界面指令更快。