1. 程式人生 > >Linux中的標準輸入輸出

Linux中的標準輸入輸出

[轉載]

標準輸入0    從鍵盤獲得輸入 /proc/self/fd/0 
標準輸出1    輸出到螢幕(即控制檯) /proc/self/fd/1 
錯誤輸出2    輸出到螢幕(即控制檯) /proc/self/fd/2 

/dev/null代表linux的空裝置檔案,所有往這個檔案裡面寫入的內容都會丟失,俗稱“黑洞” 

2) >:       表示重定向到哪裡 
3) /dev/null:  表示Linux的空裝置檔案 
4) 2:      表示標準錯誤輸出
5) &1:     &表示等同於的意思,  2>&1表示2的輸出重定向於1
6) &:    表示後臺執行,即這條指令執行在後臺執行 


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是標準輸出。