为什么 /dev/null 这么叫?

为什么 /dev/null 这么叫?

我正在寻找有关空设备的一些历史信息。为什么它被称为/dev/null而不是(例如)/dev/empty

FreeBSD 的手册页声明“第 7 版 AT&T UNIX 中出现了一个空设备”,但我找不到任何关于最初选择该名称的参考或提示。

如果事实证明该名称最初是在更古老的操作系统中使用的,我想知道原始设备是如何工作的以及为什么名字已选定。

答案1

null被选中是因为它会丢弃所有发送的数据,几乎就像一个空旷的地方。这就是为什么它也被称为黑洞。

这是字符设备,与内存中的实际空间没有连接的流。有趣的事实是你可以制作自己的个性化/dev/nullmknod -m 666 /dev/null c 1 3

此外,EOF如果您尝试读取它,它会发送

答案2

“null”意味着“什么都没有”、“没有价值”等等。

“空”意味着一个容器。为了让空性存在,我们需要一个容器。

在计算机科学中,零是一个值,我们需要一个术语来表示“无”。例如,我们有“空指针”,从功能上来说,它是一个指向任何东西的指针。

“/dev/null”是“无设备”。如果我们想让某物消失得无影无踪,我们就把它交给“无”装置。

如果我们给 /dev/empty 一些东西,那么“空”设备就不再是空的,而是我们发送给它的东西的容器。

相关内容