Что означает число после прав доступа к файлам Unix / Linux типа «-rw-rw-r--. 1 »означает в« ls -l »вывод


17

Может ли кто-нибудь объяснить -rw-rw-r--. 1и дать некоторую «подробную» информацию о команде ls -lart.

В частности, что означает число 1после разрешения доступа к файлу? Почему он меняется или почему он отличается для разных файлов?



2
Вы сами пытались найти информацию (справочные страницы и т. Д.)? Была ли информация неясной?
Даниэль Андерссон

1
@yi_H, я не вижу никакой информации о числе после разрешений.
Шахбаз

1
Я был уверен, что вопрос user1688102 уже был задан и получен ответ, но не могу его найти. @Shahbaz: это число ссылок на один и тот же индекс, т. Е. Количество жестких ссылок, т. Е. Количество разных имен для одного и того же файла (исключая программные ссылки).
RedGrittyBrick

1
Я видел страницу человека. Информация не была ясной, и не было предоставлено никакой информации относительно разрешений в man ls @Daniel
VAR121

Ответы:


15

Несколько примеров:

-rwxrw-r-- 1файл с правами чтения, записи и выполнения для владельца Группа читает и пишет, а другие только читают. Нет ссылок на эти данные.

drwxr-xr-x 10каталог с 8 файлами Дополнительные 2 являются .и ... Только владелец может создавать файлы в этом каталоге, другие могут получить доступ к тем файлам, которые находятся в каталоге, и прочитать содержимое этих файлов, если позволяют привилегии.

-r-------- 2это файл, который может прочитать только владелец, но не может выполнить или изменить. У него есть ссылка, что означает, что на диске есть другая ссылка на файл, которая обращается к тем же данным. Таким образом, фактическое «содержимое файла» на диске содержит 2 «файла», ссылающихся на него. Эти ссылки часто создаются с использованием lnбез предоставления -s.

Так:

  • Символ 1 представляет собой тип узла: обычно -или с dуказанием файла или каталога.
  • Символы 2, 3, 4 указывают на read, wобряд и xecute для владельца.
  • Персонажи 5, 6, 7 делают то же самое для группы.
  • Персонажи 8, 9, 10 делают то же самое для других.
  • Число последующих символов разрешения указывает количество ссылок, если узел является файлом, и количество «подузлов», если узел является каталогом.

Смотрите главу Длинный формат с man ls.


Как сказал @sapht, число (для каталога) в конце подразумевает, что количество файлов в каталоге неверно. Потому что у меня есть тысячи файлов в каталоге, и он все еще показывает 2
VAR121

Я никогда не видел ls, который не печатает счетчик подузлов каталога, используя длинный формат. На какой ОС / дистрибутиве вы работаете? Gnu ls,, busybox и darwin все печатают количество узлов. Это действительно каталог, а не другой тип узла?
sapht

В моем дистрибутиве (Linux Mint 18.3) нет такой главы на lsсправочной странице. Ни одно из полей не объясняется там. Я думаю, что то же самое для Ubuntu.
bleistift2

5

Для файлов это количество жестких ссылок на содержимое файла. 1 означает отсутствие жестких ссылок (типичный случай), число N выше 1 означает, что это и другие N-1 имена файлов имеют одинаковое содержимое.

Для каталогов большинство, но не все файловые системы сообщают счетчик ссылок 2+ N, где N - количество подкаталогов.


1

[max @ localhost ~] $ ll

всего 4

drwxrwxr-x 2 max max 4096 сент. 25 17:11 zzz

Здесь 2 означает количество ссылок

сейчас я создам 3 директории внутри zzz

теперь значение меняется на 5

[max @ localhost ~] $ cd zzz
[max @ localhost zzz] $ mkdir abc
drwxrwxr-x 5 max max 4096 сент. 25 17:16.
drwx ------ 5 макс. макс. 4096 сент. 25 17:12 ..
drwxrwxr-x 2 max max 4096 сент. 25 17:16 a
drwxrwxr-x 2 max max 4096 сент. 25 17:16 б
drwxrwxr-x 2 max max 4096 сент. 25 17:16 c

[max @ localhost zzz] $ cd

[max @ localhost ~] $ ll

всего 4

drwxrwxr-x 5 max max 4096 сент. 25 17:16 zzz

Это потому, что теперь в zzz 3 есть 5 каталогов, a b cа 2 - скрытые. ..

если я создаю файл, то ничего не произойдет с количеством ссылок

[max @ localhost zzz] $ touch 1 2 3
[max @ localhost zzz] $ ls -al
всего 20
drwxrwxr-x 5 max max 4096 сент. 25 17:26. ------> текущий каталог ссылок
drwx ------ 5 max max 4096 сент. 25 17:12 .. ------> количество ссылок родительского каталога
-rw-rw-r-- 1 макс. макс. 0 сен. 25 17:26 1
-rw-rw-r-- 1 max max 0 сент. 25 17:26 2
-rw-rw-r-- 1 max max 0 сент. 25 17:26 3
drwxrwxr-x 2 max max 4096 сент. 25 17:16 a
drwxrwxr-x 2 max max 4096 сент. 25 17:16 б
drwxrwxr-x 2 max max 4096 сент. 25 17:16 c
[max @ localhost zzz] $ cd
[max @ localhost ~] $ ll
всего 4
drwxrwxr-x 5 max max 4096 сент. 25 17:26 zzz

но если я удалю какой-либо каталог, то количество ссылок изменится

[max @ localhost zzz] $ rmdir bc
[max @ localhost zzz] $ cd
[max @ localhost ~] $ ll
всего 4
drwxrwxr-x 3 max max 4096 сент. 25 17:28 zzz

Много (может быть, слишком много) деталей для папок, а не слово для файлов.
ndemou
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.