/dev/null

类Unix系统特殊设备文件

/dev/null(或稱空設備)在類Unix系統中是一個特殊的設備文件,它丟棄一切寫入其中的數據(但報告寫入操作成功),讀取它則會立即得到一個EOF[1]

程序員行話,尤其是Unix行話中,/dev/null被稱為比特桶[2]或者黑洞

使用

空設備通常被用於丟棄不需要的輸出,或作為用於輸入流的空文件。這些操作通常由重定向完成。

/dev/null是一個特殊文件,而不是目錄,因此不能使用Unix命令mv將文件移動到其中。使用rm命令才是Unix中刪除文件的正確方法。

本概念大致相當於CP/MDOSMicrosoft Windows中的NUL:或單純的NUL設備,Windows NT及其後續系統中的\Device\NullNULAmiga中的NIL:,以及OpenVMS中的NL:。在基於.NETWindows PowerShell中,相同的概念為$null。

計算機文化中的引用

在Unix程序員使用的科技行話中和隱喻經常使用這一概念,例如「請將投訴發送到/dev/null」,「我的郵件被存檔到了/dev/null」,以及「重定向到/dev/null」,分別表示:「不要拿投訴來煩我」,「我的郵件被刪掉了」,和「一邊去」。iPhone Dev Team通常使用「可以向/dev/null捐款」,意為他們不接受捐款。

空設備也是科技幽默的常用主題之一,例如警告用戶系統的/dev/null已經使用了98%。1995年愚人節一家德國雜誌c't寫道,一種增強的/dev/null芯片可以藉由將數據轉換成內部LED的閃光以有效的處理輸入數據。

蘋果公司也曾在2003年利用這個概念做過一則廣告,「將其它牌子的UNIX都送進/dev/null」,表明運行Mac OS XPowerBook包含了全部UNIX特性[3]

參見

參考文獻

  1. ^ Single Unix Specification Section 10.1. [2010-09-19]. (原始內容存檔於2009-08-04). 
  2. ^ Jargon file entry for "bit bucket". [2010-09-19]. (原始內容存檔於2013-06-18). 
  3. ^ 存档副本 (PDF). [2010-09-19]. (原始內容存檔 (PDF)於2015-10-09).