/dev/null

/dev/null(或称空设备)在类Unix系统中是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF。

在程序员行话,尤其是Unix行话中,/dev/null被称为比特桶或者黑洞。
使用
空设备通常被用于丢弃不需要的输出流,或作为用于输入流的空文件。这些操作通常由重定向完成。

/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特性。

参见

  • 设备文件
  • 文件系统继承标准
  • 忘怀洞

*比特垃圾桶

  • rm
  • 标准串流
  • /dev/zero
  • /dev/random
  • /dev/full
  • Unix哲学
  • 只写内存

参考文献

评论 (0)

  • 还没有评论,来抢沙发吧。