echo "Some text" >> /dev/null
然后尝试cat null
没有输出。有人可以解释这是为什么吗?
答案1
该null
设备的作用就像一个黑洞。写入其中的任何内容都会被丢弃,如果您尝试从中读取内容,您会立即收到文件结尾。
它用于丢弃不需要的输出并提供空输入。
没有它,就很难丢弃不需要的输出。基本上,您必须将不需要的输出存储在一个文件中,然后将其删除,或者编写一个程序来消耗所有数据而不对其进行任何操作。类似地,您必须创建一个空文件,以便为您不希望的进程提供立即文件结束符,例如从标准输入读取。
的存在/dev/null
是由 POSIX 标准强制规定的,它说它是......
空数据源和无限数据接收器。写入的数据
/dev/null
将被丢弃。读取/dev/null
应始终返回文件结束符 (EOF)。
/dev
它是POSIX 系统上需要使用的仅有的三个设备之一。其他的是/dev/tty
和/dev/console
。