Что указывает первый символ строки режима UNIX?

23

Я очень хорошо знаком с разрешениями файлов linux и специальными perms (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
    
задан user169254 30.12.2013 в 04:17
источник

4 ответа

31

Это означает, что файл является символьным специальным файлом - в основном файл устройства, обеспечивающий последовательный доступ (в отличие от специального блока , такого как дисковод) , Например, терминалы и последовательные устройства соединяются через специальные файлы символов ( /dev/tty1 , /dev/ttyS0 и т. Д.).

Краткое введение в файлы устройств см. в Linux / UNIX: файлы устройств [cyberciti.biz]. Для более подробного обсуждения см. Этот ответ stackexchange Понимание / dev и его поддиреев и файлов . Чтобы узнать о базовых структурах данных, обратитесь к главе 4 Руководства по программированию модуля ядра Linux: Файлы персональных устройств [tldp.org]

    
ответ дан steeldriver 30.12.2013 в 04:52
17

Символьное устройство помечено символом 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.

Более подробную информацию см. на странице wikipedia .

    
ответ дан souravc 30.12.2013 в 05:08
4

ls -l выводит строку символов UNIX длиной 10 символов, широко известную как строка разрешений. например.

-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 - > Разъем Unix
  • b - > блочное устройство
  • p - > Трубопровод
  • D - > Дверь

Ссылки:

ответ дан precise 13.01.2014 в 19:11
1

Первый символ в первом столбце, т. е. 'c' в crw-rw-rw- выше, сообщает информированному пользователю тип файла, в данном случае символьное устройство.     

ответ дан Maythux 30.12.2013 в 19:35