所以我一直在摆弄 /dev/null 并移动文件到它,就像......
sudo mv test /dev/null
并阅读它......
:~$ cat /dev/null
this is a file
:~$
但后来我又创建了一个文件,文件内容是这是另一个文件 然后我继续读取 /dev/null,然后通过 cat 将新文件移动到 /dev/null,这就是发生的事情
:~$ cat /dev/null
:~$
有人可以向我解释一下发生了什么事吗?我在使用 ubuntu 18.04。
谢谢。
答案1
从man null
:
NAME
null, zero - data sink
DESCRIPTION
Data written to the /dev/null and /dev/zero special files is discarded.
Reads from /dev/null always return end of file (i.e., read(2) returns 0), whereas reads
from /dev/zero always return bytes containing zero ('\0' characters).
These devices are typically created by:
mknod -m 666 /dev/null c 1 3
mknod -m 666 /dev/zero c 1 5
chown root:root /dev/null /dev/zero
FILES
/dev/null
/dev/zero
NOTES
If these devices are not writable and readable for all users, many programs will act
strangely.
Since Linux 2.6.31, reads from /dev/zero are interruptible by signals. (This change was
made to help with bad latencies for large reads from /dev/zero.)
SEE ALSO
chown(1), mknod(1), full(4)