標准輸入0 從鍵盤獲得輸入 /proc/self/fd/0
標准輸出1 輸出到屏幕(即控制台) /proc/self/fd/1
錯誤輸出2 輸出到屏幕(即控制台) /proc/self/fd/2
1 表示stdout標准輸出,系統默認值是1,所以">/dev/null"等同於"1>/dev/null"
2 表示stderr標准錯誤
& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1
/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是標准輸出