文件名稱 | 文件描述符 |
---|---|
標準輸入 | 0 (默認是鍵盤) |
標準輸出 | 1 (默認是屏幕) |
標準錯誤 | 2 (默認是屏幕) |
Linux中&表示后臺運行,>表示輸出重定向
命令 | 描述 |
---|---|
command > file | 標準輸出重定向到文件中,文件不存在時會自動創(chuàng)建再寫入,文件存在時會先刪除文件中的內(nèi)容再寫入 |
command >> file | 標準輸出重定向到文件中,文件不存在時會自動創(chuàng)建再寫入命令產(chǎn)生的標準輸出,文件存在時不改變原文件內(nèi)容寫入再寫入命令產(chǎn)生的標準輸出 |
command > file 2>&1 | 標準輸出和錯誤輸出重定向到文件中,若文件不存在則會新建文件再寫入,若文件存在會先刪除文件中的原本內(nèi)容再寫入(2>&1表示標準錯誤以后臺模式重新向到標準輸出中) |
command >> file 2>&1 | 標準輸出和錯誤輸出重定向到文件中,若文件不存在,則會新建文件再寫入;若文件存在,則會在不改變文件原本內(nèi)容的情況下再寫入文件 |
command 2 > file | 標準錯誤重定向到文件中,若文件不存在則會新建文件再寫入,若文件存在會先刪除文件中的原本內(nèi)容再寫入 |
command 2 >> file | 標準錯誤重定向到文件中,若文件不存在,則會新建文件再寫入;若文件存在,則會在不改變文件原本內(nèi)容的情況下再寫入文件 |
<表示輸入重定向
命令 | 描述 |
---|---|
command < file1 > file2 | command命令以file1為標準輸入,以file2為標準輸出 |
command < file | command命令以file為標準輸入 |
command << del | command以鍵盤為標準輸入,直到遇到del結(jié)束 |
/dev/null在Linux中充當黑洞的作用,任何寫入到/dev/null中的內(nèi)容都會被自動刪除
# 將命令產(chǎn)生的錯誤重定向到/dev/null,即命令執(zhí)行不會在屏幕上顯示任何錯誤信息command 2 > /dev/null
# 將命產(chǎn)生的日志重定向到文件中,將命令產(chǎn)生的錯誤信息寫入到/dev/null,以此達到日志寫入文件,錯誤直接忽略,屏幕不會顯示任何信息command > file 2>&1nohup command > file 2>&1 &
nohup表示不掛斷地執(zhí)行命令
通常我們在執(zhí)行Linux命令時會使用&使命令在后臺運行而不影響terminal的正常使用,而&存在一個問題:關閉terminal會導致使用&的命令中斷,這時就需要nohup command &
,最直接簡單的命令就是:
nohup command > file &
命令執(zhí)行,正常日志會自定寫入到file中,但如果有錯誤信息,則錯誤信息會直接打印到屏幕上
nohup command > file 2>&1 &
命令執(zhí)行,生成的正常日志和錯誤信息會記錄在file中
jobs
查看使用nohup
命令提交的job
fg %n
關閉某個job
聯(lián)系客服