/dev/zero 的目的?

/dev/zero 的目的?

我尝试过cat /dev/zero,但似乎没有任何作用。我用谷歌搜索/dev/zero,它说它基本上是一个无限大小的空白文件。打印cat无限多个不存在的字符吗?这是如何运作的?如果它是 0 字节,它如何提供无限数据?如果可以简单地创建一个空白文件,那么这个文件有什么用呢?

答案1

/dev/zero是一个特殊文件(在本例中为伪设备),它提供无限的空字符流(因此十六进制 0x00)?这就是为什么你cat没有输出任何东西(但尝试通过od(八进制转储)运行它)。

“无限大小的空白文件”并不是 100% 正确:它不是一个常规文件,而是一个特殊文件(更像是“流”或生成器)。您可以根据需要从中阅读任意内容,例如使用dd(like dd if=/dev/zero of=yourfile count=1024 bs=1024)。

这其实不是一个空白的文件,也不用于创建空白文件:它用于创建仅填充零的文件或内存页。您还可以对其进行写入,使其像污水坑一样运行(/dev/null不过,它更受欢迎的兄弟更常用于此目的)。

相关内容