/dev/null 文件实际上有固定大小吗?

/dev/null 文件实际上有固定大小吗?

我刚刚发现那/dev/null是一个文件而不是一个目录。

我只是想知道它是否有实际的文件大小。

答案1

/dev/null并不是真正的文件。它是一个字符设备

$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Apr 10 09:53 /dev/null

c权限字符串的第一个字母( crw-rw-rw-) 表示这一点。对于常规文件,它将改为-

简单来说:/dev/null它不是一个文件,而是一个映射到文件系统中此路径的虚拟设备,它的唯一目的就是吞噬和消灭数据 - 就像一个黑洞。
但它也可以用作输入,然后它就像一个空文件(大小为 0)并立即返回 EOF(文件结束)。

因此,您实际上不能说它/dev/null具有特定的文件大小,因为它不是任何存储介质上的常规文件。

答案2

/dev/null是一种特殊的文件,叫做“设备文件“。

设备文件充当某些内核函数的接口。它们只占用目录条目所需的空间(“索引节点“),但没有任何实际内容,也没有实际的文件大小。

其他设备文件例如/dev/sda(通常是 HDD 或 SSD)、/dev/zero(读取时生成零的文件)或/dev/random(读取时生成随机数据的文件)。实际上,几乎所有文件/dev/都是设备文件或指向设备文件的链接。

相关内容