почему в "ls -l / dev" и "/ bin / ls -l / dev" выводится разное?Mac OS X - PullRequest
0 голосов
/ 18 декабря 2018

Итак, мне дали это задание на C, в котором я должен воспроизвести команду ls.Все идет хорошо, но у меня есть одна проблема, которую я не могу понять.

При использовании ls -l on / dev вывод дает мне что-то вроде этого:

"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 или моей программы, только эти строки различны.

Если у кого-то есть подсказки, большое спасибо:)

edit: Это результат команды 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 dir и autofs dirs (кроме autofs_control), который, кажется, соответствует поведению ls

...