1. 程式人生 > >Linux nohup、&、 2>&1是什麼?

Linux nohup、&、 2>&1是什麼?

基本含義

  • /dev/null 表示空裝置檔案
  • 0 表示stdin標準輸入
  • 1 表示stdout標準輸出
  • 2 表示stderr標準錯誤

> file 表示將標準輸出輸出到file中,也就相當於 1>file

2> error 表示將錯誤輸出到error檔案中

2>&1 也就表示將錯誤重定向到標準輸出上

2>&1 >file :錯誤輸出到終端,標準輸出重定向到檔案file,等於 > file 2>&1(標準輸出重定向到檔案,錯誤重定向到標準輸出)。

& 放在命令到結尾,表示後臺執行,防止終端一直被某個程序佔用,這樣終端可以執行別到任務,配合 >file 2>&1可以將log儲存到某個檔案中,但如果終端關閉,則程序也停止執行。如 command > file.log 2>&1 & 。

nohup放在命令的開頭,表示不掛起(no hang up),也即,關閉終端或者退出某個賬號,程序也繼續保持執行狀態,一般配合&符號一起使用。如nohup command &。