Linux標準輸入、標準輸出、錯誤輸出

Linux中的輸入文件、輸出文件、錯誤輸出

文件名稱 文件描述符
標準輸入 0 (默認是鍵盤)
標準輸出 1 (默認是屏幕)
標準錯誤 2 (默認是屏幕)

輸出重定向

Linux中&表示後臺運行,>表示輸出重定向shell

命令 描述
command > file 標準輸出重定向到文件中,文件不存在時會自動建立再寫入,文件存在時會先刪除文件中的內容再寫入
command >> file 標準輸出重定向到文件中,文件不存在時會自動建立再寫入命令產生的標準輸出,文件存在時不改變原文件內容寫入再寫入命令產生的標準輸出
command > file 2>&1 標準輸出和錯誤輸出重定向到文件中,若文件不存在則會新建文件再寫入,若文件存在會先刪除文件中的本來內容再寫入(2>&1表示標準錯誤之後臺模式從新向到標準輸出中)
command >> file 2>&1 標準輸出和錯誤輸出重定向到文件中,若文件不存在,則會新建文件再寫入;若文件存在,則會在不改變文件本來內容的狀況下再寫入文件
command 2 > file 標準錯誤重定向到文件中,若文件不存在則會新建文件再寫入,若文件存在會先刪除文件中的本來內容再寫入
command 2 >> file 標準錯誤重定向到文件中,若文件不存在,則會新建文件再寫入;若文件存在,則會在不改變文件本來內容的狀況下再寫入文件

輸入重定向

<表示輸入重定向spa

命令 描述
command < file1 > file2 command命令以file1爲標準輸入,以file2爲標準輸出
command < file command命令以file爲標準輸入
command << del command以鍵盤爲標準輸入,直到遇到del結束

/dev/null

/dev/null在Linux中充當黑洞的做用,任何寫入到/dev/null中的內容都會被自動刪除日誌

# 將命令產生的錯誤重定向到/dev/null,即命令執行不會在屏幕上顯示任何錯誤信息
command 2 > /dev/null
# 將命產生的日誌重定向到文件中,將命令產生的錯誤信息寫入到/dev/null,以此達到日誌寫入文件,錯誤直接忽略,屏幕不會顯示任何信息
command > file 2>&1
nohup command > file 2>&1 &

nohup

nohup表示不掛斷地執行命令code

一般咱們在執行Linux命令時會使用&使命令在後臺運行而不影響terminal的正常使用,而&存在一個問題:關閉terminal會致使使用&的命令中斷,這時就須要nohup command &,最直接簡單的命令就是:terminal

nohup command > file &

命令執行,正常日誌會自定寫入到file中,但若是有錯誤信息,則錯誤信息會直接打印到屏幕上table

nohup command > file 2>&1 &

命令執行,生成的正常日誌和錯誤信息會記錄在file中class

jobs

查看使用nohup命令提交的job後臺

fg %n

關閉某個jobfile

相關文章
相關標籤/搜索