我当时只是在捣鼓系统,想学习如何扩展交换内存。然后我了解到了/dev/zero
。它被称为的兄弟/dev/null
(我在某处读到过)。
然后我就跑了man zero
,
描述说,
Reads from /dev/null always return end of file (i.e., read(2) returns 0), whereas reads from /dev/zero always return bytes contain‐
ing zero ('\0' characters).
该文件末尾和包含零的字节之间有什么区别?它们不是一回事吗?
答案1
也许你混淆了“零字节”一词的两种用法
- 字节数(零)(/dev/null)
- 字节数(非零),价值为零(/dev/zero)
最好用一个例子来说明这种差异:
正在读取/dev/zero
$ dd if=/dev/zero bs=8 count=1 | od
1+0 records in
1+0 records out
0000000 000000 000000 000000 000000
8 bytes copied, 0.000207568 s, 38.5 kB/s0000010
返回 ASCII 值为零的字节流 (“空字节”); 而尝试读取/dev/null
$ dd if=/dev/null bs=8 count=1 | od
0+0 records in
0+0 records out
0000000
0 bytes copied, 0.000168108 s, 0.0 kB/s
返回 0 字节。