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 把標準錯誤重定向...