/dev/null
外观
在类Unix系统中,/dev/null,或称空设备是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF[1]。
在程序员行话,尤其是Unix行话中,/dev/null
被称为bit bucket[2]或者黑洞。
使用
空设备通常被用于丢弃不需要的输出流,或作为用于输入流的空文件。这些操作通常由重定向完成。
/dev/null是一个特殊文件,而不是目录,因此不能使用Unix命令mv 将文件移动到其中。使用m命令才是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]。