Linux實時將所有輸出重定向到檔案

2022-03-14 08:22:58 字數 570 閱讀 1486

linux的重定向機制十分好用,我們經常需要在伺服器上掛起乙個服務程式,然後將該程式的所有輸出重定向到某個檔案,這樣即使我們登出了使用者,程式依然在linux伺服器上執行著。

但是重定向的輸出經常無法實時重新整理到指定檔案中,當我們除錯程式時,這將給我們帶來巨大的困擾。其實只需要關閉重定向輸出的緩衝,即可實現實時重新整理的效果。

命令如下:

nohup unbuffer command > file.out 2>&1 &

上面的unbuffer命令需要額外安裝expect-devel,用來實時重新整理。

nohup命令用來忽略所有結束通話(sighup)訊號,讓你的程式即使在使用者登出後依然繼續執行。

command是任何一段你想要執行的shell命令。

> file.out 代表將command執行結果重定向到當前目錄下的file.out檔案中(如果要每次執行的結果追加到file.out後面,可以用》而不是》)。

2 >&1表示將標準錯誤輸出cerr的所有輸出也都重定向到標準輸出cout中,這樣file.out中就會記錄command命令執行過程中所有標準輸出。

最後乙個&表示後台執行該command。

linux輸出重定向

標準輸入輸出 裝置 鍵盤 顯示器 顯示器 裝置檔名 dev stdin dev sdtout dev sdterr 檔案描述符 0 1 2 型別 標準輸入 標準輸出 標準錯誤輸出 輸出重定向 標準輸出重定向 命令 檔案 以覆蓋的方式,把命令的正確輸出輸出到指定的檔案或裝置當中 命令 檔案 以追加的方...

Linux輸出重定向

linux shell 環境中支援輸入輸出重定向,用符號 和 來表示。0 1和2分別表示標準輸入 標準輸出和標準錯誤資訊輸出,可以用來指定需要重定向的標準輸入或輸出,比如 2 a.txt 表示將錯誤資訊輸出到檔案a.txt中。同時,還可以在這三個標準輸入輸出之間實現重定向,比如將錯誤資訊重定向到標準...

linux輸出重定向

linux shell使用 和 符號來對輸入輸出做重定向。約定 0,1,2分別代表 標準輸入,標準輸出,標準錯誤輸出。下面以ls命令為例加以說明,其他命令或程式的使用方式相同。例1 把標準輸出重定向到log.txt root localhost es ls 1 log.txt 例2 把標準錯誤重定向...