Linux中的三種標準輸入輸出

linux中有三種標準輸入輸出,分別是STDIN,STDOUT,STDERR,對應的數字是0,1,2

標準輸入0 從鍵盤獲得輸入 /proc/self/fd/0

標準輸出1 輸出到屏幕(即控制檯) /proc/self/fd/1

錯誤輸出2 輸出到屏幕(即控制檯) /proc/self/fd/2

/dev/null代表linux的空設備文件,所有往這個文件裡面寫入的內容都會丟掉,俗稱“黑洞”

1、2>/dev/null意思就是把錯誤輸出到“黑洞”

2、>/dev/null 2>&1默認情況是1,也就是等同於1>/dev/null 2>&1。意思就是把標準輸出重定向到“黑洞”,還把錯誤輸出2重定向到標準輸出1,也就是標準輸出和錯誤輸出都進了“黑洞”

3、2>&1 >/dev/null意思就是把錯誤輸出2重定向到標準出書1,也就是屏幕,標準輸出進了“黑洞”,也就是標準輸出進了黑洞,錯誤輸出打印到屏幕

關於這裡”&”的作用,我們可以這麼理解2>/dev/null重定向到文件,那麼2>&1,這裡如果去掉了&就是把錯誤輸出給了文件1了,用了&是表明1是標準輸出。


分享到:


相關文章: