關(guān)于/dev/null和/dev/zero
使用/dev/null
把/dev/null看作"黑洞". 它非常等價(jià)于一個(gè)只寫(xiě)文件. 所有寫(xiě)入它的內容都會(huì )永遠丟失. 而嘗試從它那兒讀取內容則什么也讀不到. 然而, /dev/null對命令行和腳本都非常的有用. 禁止標準輸出.
1 cat $filename >/dev/null
2 # 文件內容丟失,而不會(huì )輸出到標準輸出.
禁止標準錯誤
1 rm $badname 2>/dev/null
2 # 這樣錯誤信息[標準錯誤]就被丟到太平洋去了
禁止標準輸出和標準錯誤的輸出
1 cat $filename 2>/dev/null >/dev/null
2 # 如果"$filename"不存在,將不會(huì )有任何錯誤信息提示.
3 # 如果"$filename"存在, 文件的內容不會(huì )打印到標準輸出.
4 # 因此Therefore, 上面的代碼根本不會(huì )輸出任何信息.
5 #
6 # 當只想測試命令的退出碼而不想有任何輸出時(shí)非常有用。
7 #
8 #
9 # cat $filename &>/dev/null
10 # 也可以, 由 Baris Cicek 指出
自動(dòng)清空日志文件的內容 (特別適合處理這些由商業(yè)Web站點(diǎn)發(fā)送的討厭的"cookies"):
1 if [ -f ~/.netscape/cookies ] # 如果存在則刪除.
2 then
3 rm -f ~/.netscape/cookies
4 fi
5
6 ln -s /dev/null ~/.netscape/cookies
7 # 現在所有的cookies都會(huì )丟入黑洞而不會(huì )保存在磁盤(pán)上了.
.
使用/dev/zero
像/dev/null一樣, /dev/zero也是一個(gè)偽文件, 但它實(shí)際上產(chǎn)生連續不斷的null的流(二進(jìn)制的零流,而不是ASCII型的). 寫(xiě)入它的輸出會(huì )丟失不見(jiàn), 而從/dev/zero讀出一連串的null也比較困難, 雖然這也能通過(guò)od或一個(gè)十六進(jìn)制編輯器來(lái)做到. /dev/zero主要的用處是用來(lái)創(chuàng )建一個(gè)指定長(cháng)度用于初始化的空文件,就像臨時(shí)交換文件.
關(guān)于 /dev/zero 的另一個(gè)應用是為特定的目的而用零去填充一個(gè)指定大小的文件, 如掛載一個(gè)文件系統到環(huán)回設備 (loopback device) 或"安全地" 刪除一個(gè)文件.
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。