因此给了我这个C分配,在其中我必须重现ls命令。 一切都很好,但我有一个我无法理解的问题。
在/ dev上使用ls -l时,输出结果如下:
"ls -l /dev"
...
dr-xr-xr-x 1 root wheel 0 Dec 17 15:55 fd
crw-r--r-- 1 root wheel 13, 0 Dec 17 15:55 fsevents
crw-rw-rw- 1 root wheel 21, 17 Dec 17 15:55 io8log <<notice these lines
cr--r--r-- 1 root wheel 21, 14 Dec 17 15:55 io8logmt <<notice these lines
crw-rw-rw- 1 root wheel 21, 15 Dec 17 22:09 io8logtemp <<notice these lines
crw------- 1 root wheel 6, 0 Dec 17 15:55 klog
...
但是然后:
"/bin/ls -l /dev":
...
dr-xr-xr-x 1 root wheel 0 Dec 17 15:55 fd
crw-r--r-- 1 root wheel 13, 0 Dec 17 15:55 fsevents
crw-rw-rw- 1 root wheel 21, 15 Dec 17 15:55 io8log << see how the minor has changed?
cr--r--r-- 1 root wheel 21, 16 Dec 17 15:55 io8logmt << same here
crw-rw-rw- 1 root wheel 21, 17 Dec 17 22:35 io8logtemp << and here too
crw------- 1 root wheel 6, 0 Dec 17 15:55 klog
...
这三行的次要号码如何更改? ls和/ bin / ls不一样吗?是不是ls只是/ bin / ls的“别名”,还是在命令中添加/删除了“选项”?
(即使这不是完全相同的问题), 这些文件的次要数字如何以十六进制显示?甚至不符合我从他们那里得到的次要数字
"ls -l /dev":
crw-rw-rw- 1 root wheel 33, 0x00000ac7 Dec 17 15:55 autofs_homedirmounter
crw-rw-rw- 1 root wheel 32, 0x00000ac7 Dec 17 15:55 autofs_notrigger
crw-rw-rw- 1 root wheel 31, 0x00001581 Dec 17 15:55 autofs_nowait
mine :
crw-rw-rw- 1 root wheel 33, 2722 Dec 17 15:55 autofs_homedirmounter
crw-rw-rw- 1 root wheel 32, 2722 Dec 17 15:55 autofs_notrigger
crw-rw-rw- 1 root wheel 31, 5198 Dec 17 15:55 autofs_nowait
调用ls,/ bin / ls或我的程序时,所有其他次要/主要数字都对应,只是这些行不同。
如果有人有提示,非常感谢:)
编辑: 这是zwol命令的结果:
/dev/io8log 1500000f
/dev/io8logmt 15000010
/dev/io8logtemp 15000011
/dev/klog 6000000
/dev/autofs 16000000
/dev/autofs_control 22000000
/dev/autofs_homedirmounter 21000ae5
/dev/autofs_notrigger 20000ae5
/dev/autofs_nowait 1f00174b
在两次调用它时,所有io8 dirs和autofs dirs(autofs_control除外)的数字都不同,这似乎与ls的行为匹配