设备(特殊字符)文件大小是什么意思?

时间:2020-09-03 22:37:53

标签: linux bash linux-device-driver

使用ls -l通常会导致包含文件大小的长列表...

-rw-r--r--@  1 user1  staff   881344 Sep  1 15:35 someFile.png

在macOS 10.13.5和Ubuntu 20.04上,特殊字符(设备)文件的大小非常不同...

crw-------  1 root           wheel      31,   0 Aug 30 16:11 autofs

在这种情况下,“ 31,0”是什么意思?

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

请仔细阅读ls(1)的文档,然后仔细阅读inode(7)

31是主要设备号,0是次要设备号。

请记住,ls(1)将使用stat(2)(您可以使用strace(1) ...进行检查),因此先阅读Advanced Linux Programming,然后阅读syscalls(2)

有时,ls可能是一些shell别名或函数。因此,请阅读GNU bash的文档。也尝试/bin/ls --help

在GNU Linux上,阅读coreutils的文档。现在是free software您可以下载并研究其源代码!

在MacOSX上,operating system kernel可能具有不同的system calls

但是请注意udev(在Linux上)。