Что обозначает первый символ строки режима UNIX?
Я хорошо знаком с правами доступа к файлам linux и специальными привилегиями (sticky bit, suid, guid)
Но я не знаю, что c
обозначает? Это разрешение или что-то еще? Я немного погуглил и не могу понять.
Вот файл устройства, в котором он есть.
steven@A215:~$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null
4 ответа
Это означает, что файл представляет собой специальный символьный файл - в основном файл устройства, который обеспечивает последовательный доступ (в отличие от блочного специального устройства, такого как дисковод). Например, терминалы и последовательные устройства связаны через специальные символьные файлы (/dev/tty1
, /dev/ttyS0
и так далее).
Краткое введение в файлы устройств см. В разделе Linux / UNIX: файлы устройств [cyberciti.biz]. Более подробное обсуждение смотрите в этом ответе stackexchange Понимание /dev и его подкаталогов и файлов. Чтобы узнать о базовых структурах данных, обратитесь к Главе 4 Руководства по программированию модуля ядра Linux: Файлы символьных устройств [tldp.org]
Символьное устройство помечено c
в качестве первой буквы строки режима. Аналогично, блочное устройство помечается b
,
$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Jan 21 21:50 /dev/null
$ ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 21 21:50 /dev/sda
Есть больше этих специальных устройств (файлы в том смысле, что все это файл в Linux),
d : directory
s : socket
p : pipe
D : Door
l : symbolic link etc.
Смотрите эту страницу википедии для более подробной информации.
ls -l
выводит 10-символьную строку информации UNIX, широко известную как строка разрешений. например
-rw-rw-r-- 1 userName groupName 13200650 Dec 13 21:23 fileName
Первый символ строки разрешений или строки режима, известный как дескриптор файла, указывает тип файла, а оставшиеся девять, взятые группами по три, указывают разрешения для соответствующего файла, где:
- первая группа из трех символов (после первого символа из 10) обозначает права владельца,
- вторая группа из трех назначает разрешения для группы,
- последняя группа из трех назначает разрешения для других (или мира).
Здесь в вышеприведенном примере первый символ / символ "-" указывает на обычный файл.
Хотя в следующих примерах
crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null
crw-rw-rw- 1 root root 1, 5 Jan 13 20:56 /dev/zero
первый символ строки разрешения - "c" и, как указано выше, это индикатор типа файла, который указывает символьное устройство.
Отдельно от -
, c
некоторые другие файловые дескрипторы:
d
-> каталогl
-> символическая ссылкаs
-> сокет Unixb
-> блочное устройствоp
-> трубопроводD
-> Дверь
Рекомендации:
Первый символ в первом столбце, т. Е. "C" в crw-rw-rw- выше, сообщает информированному пользователю тип файла, в данном случае символьное устройство.