當您在bash提示符下執行命令時,它通常會將該命令的輸出直接列印到終端,以便您可以立即讀取它。但是bash還允許您“重定向”任何命令的輸出,將其儲存到文字檔案中,以便稍後檢視輸出。
這可以在bash的任何作業系統上工作,從Linux和macOS到windows10的基於Ubuntu的bash環境。
要使用bash重定向,請執行命令,指定>;或>;>;運算子,然後提供要將輸出重定向到的檔案的路徑。
從技術上講,這會重定向“stdout”——標準輸出,即螢幕到檔案。
下面是一個簡單的例子。ls命令列出當前目錄中的檔案和資料夾。所以。執行以下命令時,ls將列出當前目錄中的檔案和資料夾。但它不會將它們列印到螢幕上,而是將它們儲存到您指定的檔案中。
ls > /path/to/file不必指定現有檔案的路徑。指定任何有效路徑,bash將在該位置建立一個檔案。
如果您檢視檔案的內容,您將看到ls命令的輸出。例如,cat命令將檔案的內容列印到終端:
cat /path/to/file請記住,>;運算子將用命令的輸出替換檔案的現有內容。如果要將多個命令的輸出儲存到單個檔案中,則應改用>;>;運算子。例如,以下命令將向指定的檔案附加系統資訊:
uname -a >> /path/to/file如果檔案不存在,bash將建立該檔案。否則,bash將保留檔案的現有內容,並將輸出附加到檔案末尾。
檢視檔案內容時,您將看到第二個命令的結果附加到檔案末尾:
您可以重複此過程任意多次,以將輸出附加到檔案末尾。
您可能不喜歡使用>;或>;>;運算子重定向輸出,因為在終端中看不到命令的輸出。這就是tee命令的作用。tee命令將接收到的輸入列印到螢幕上,同時將其儲存到檔案中。
要透過管道將命令輸出到tee,將其列印到螢幕並儲存到檔案中,請使用以下語法:
command | tee /path/to/file這將用命令的輸出替換檔案中的任何內容,就像>;運算子一樣。
要將命令的輸出透過管道傳輸到tee,請將其列印到螢幕並儲存到檔案中,但要將其附加到檔案末尾:
command | tee -a /path/to/file這將把輸出附加到檔案的末尾,就像>;>;運算子一樣。
相關內容:Shell指令碼初學者指南:基礎知識
bashshell包含一些執行類似功能的附加高階運算子。如果您正在編寫bash指令碼,它們將特別有用。有關更多詳細資訊,請參閱《高階Bash指令碼指南》中的I/O重定向一章。
... 今天我們將介紹如何在Windows、Mac和Linux上將命令的輸出傳送到bashshell中的文字檔案。 ...
您可能聽說過命令提示符,並且知道它是一個很好的Windows工具,可以快速執行有用的操作。只需幾次按鍵,您就可以更改設定和檢查資訊,這些資訊需要在普通視窗中點選十幾下。 ...
Linux上有多種型別的環境變數。瞭解如何檢視它們,為本地和遠端登入建立它們,並使它們在重新啟動後仍然有效。 環境變數的工作原理 啟動終端視窗及其內部的shell時,會引用一組變數,以確保shell配置正確。這些變數還確...
...但這並沒有什麼不好的地方。我們將解釋它的作用,以及如何調整它。 什麼是$path,它是如何工作的($path on linux, and how does it work)? 當您在終端視窗中鍵入一個命令並按Enter鍵時,您甚至在執行命令之前就開始了大量的活動。 B...
...料。它甚至可以實時顯示新增到檔案中的更新。我們教你如何使用它。 他殺了尾巴嗎? tail命令顯示檔案末尾的資料。通常,新資料會新增到檔案的末尾,因此tail命令是檢視檔案中最新新增內容的一種快速簡便的方法。它還可...
...複您過去執行的命令。一旦您瞭解了Linux history命令以及如何使用它,它就可以顯著地提高您的生產效率。 操縱歷史 正如喬治桑塔亞納(georgestantayana)的一句名言:“那些記不住過去的人註定要重蹈覆轍。”不幸的是,在Linux...
...個檔案。每一個都有它在遠端伺服器上的名字。 相關:如何在Linux上使用xargs命令 從ftp伺服器下載檔案 將curl與檔案傳輸協議(FTP)伺服器結合使用很容易,即使您必須使用使用者名稱和密碼進行身份驗證。要使用curl傳遞使用...
...以建立文字檔案和日誌檔案。按照這個簡單的指南來了解如何。 回聲重複你讓它重複的東西 宙斯喜歡離開奧林匹斯山,與美麗的仙女交往。在一次旅行中,他告訴一個叫埃科的山裡仙女,如果他的妻子赫拉跟著他,他就要攔...
...才能繼續存在。一旦視窗關閉,別名將消失。 那麼我們如何使我們的別名永久化呢? .bashrc檔案和別名 您可能想知道預打包的別名是在哪裡定義的。它位於主資料夾的“.bashrc”檔案中。當您啟動互動式shell時,將讀取此檔案並...