/dev/null
类Unix系统特殊设备文件
/dev/null(或称空设备)在类Unix系统中是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF[1]。
使用
空设备通常被用于丢弃不需要的输出流,或作为用于输入流的空文件。这些操作通常由重定向完成。
/dev/null是一个特殊文件,而不是目录,因此不能使用Unix命令mv将文件移动到其中。使用rm命令才是Unix中删除文件的正确方法。
本概念大致相当于CP/M,DOS和Microsoft Windows中的NUL:或单纯的NUL设备,Windows NT及其后续系统中的\Device\Null或NUL,Amiga中的NIL:,以及OpenVMS中的NL:。在基于.NET的Windows 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 X的PowerBook包含了全部UNIX特性[3]。
参见
参考文献
- ^ Single Unix Specification Section 10.1. [2010-09-19]. (原始内容存档于2009-08-04).
- ^ Jargon file entry for "bit bucket". [2010-09-19]. (原始内容存档于2013-06-18).
- ^ 存档副本 (PDF). [2010-09-19]. (原始内容存档 (PDF)于2015-10-09).