一、能夠將/dev/null看做"黑洞". 它很是等價於一個只寫文件. 全部寫入它的內容都會永遠丟失. 而嘗試從它那兒讀取內容則什麼也讀不到. 然而, /dev/null對命令行和腳本都很是的有用.
用處:
禁止標準輸出. 1 cat $filename >/dev/null # 文件內容丟失,而不會輸出到標準輸出.
禁止標準錯誤. 2>/dev/null 這樣錯誤信息[標準錯誤]就被丟到太平洋去了.命令行
二、1>/dev/null 2>&1的含義file
">" 表明重定向,例如:echo "123" > /home/123.txt
1 表示stdout標準輸出,系統默認值是1,因此">/dev/null"等同於"1>/dev/null"
2 表示stderr標準錯誤,即 2>/dev/null & 表示等同於的意思,2>&1,表示2的輸出重定向等同於1終端
那麼:
1>/dev/null 首先表示標準輸出重定向到空設備文件,也就是不輸出任何信息到終端,說白了就是不顯示任何信息。
2>&1 接着,標準錯誤輸出重定向等同於 標準輸出,由於以前標準輸出已經重定向到了空設備文件,因此標準錯誤輸出也重定向到空設備文件。command
因此:
分解這個組合:「>/dev/null 2>&1」 爲4部分。方法
1:> 表明重定向到哪裏,例如:echo "123" > /home/123.txt
2:/dev/null 表明空設備文件
3:2> 表示stderr標準錯誤
4:& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1腳本
所以,>/dev/null 2>&1 也能夠寫成「1> /dev/null 2> &1」
經常使用的使用方法有:重定向
順便說一句:/dev/zero 經常使用語額外添加swap交換分區;
/dev/zero文件表明一個永遠輸出 0的設備文件,使用它做輸入能夠獲得全爲空的文件。所以可用來建立新文件和以覆蓋的方式清除舊文件。
下面使用dd命令將從zero設備中建立一個10K大小(bs決定每次讀寫1024字節,count定義讀寫次數爲10次),但內容全爲0的文件。
dd if=/dev/zero of=file count=10 bs=1024文件