chmod
, как вы, наверное, знаете, сокращенно от «change mode». «Mode» здесь относится к полю st_mode
в inode. stat(2) , справочная страница для системных вызовов stat
, fstat
и lstat
, показывает значения st_mode до семи цифр. Вот выдержка:
S_IFSOCK
0140000 socket
S_IFLNK
0120000 symbolic link
S_IFREG
0100000 regular file
S_IFBLK
0060000 block device
S_IFDIR
0040000 directory
S_IFCHR
0020000 character device
S_IFIFO
0010000 FIFO
ОК, первая цифра всегда ноль, чтобы указать, что число восьмеричное; мы можем игнорировать это. MC, похоже, тоже игнорирует второй. Итак, вы можете видеть, что обычные файлы имеют 0 для третьей (т. Е. Пятой справа) цифры, а каталоги имеют 4. 2 и 6 - символьное устройство и блочное устройство соответственно; вы должны видеть это только в /dev
. Именованные каналы должны быть 1, а сокеты файловой системы - 4. Если символические ссылки отображаются как 0, это странно; возможно кто-то думал, что отображение 2 будет слишком запутанным.