12

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

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

3 ответа3

14

Некоторые примеры:

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

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

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

Так:

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

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

1

Вкратце: это количество жестких ссылок на содержимое файла. 1 означает отсутствие жестких ссылок, 2 означает, что это и другое имя файла имеют одинаковое содержимое и т.д.

Для каталогов большинство, но не все файловые системы сообщают о количестве ссылок 2+nr_of_subdirs (для получения дополнительной информации прочтите это)

0

[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 a b c
drwxrwxr-x 5 max max 4096 Sep 25 17:16 .
drwx------ 5 max max 4096 Sep 25 17:12 ..
drwxrwxr-x 2 max max 4096 Sep 25 17:16 a
drwxrwxr-x 2 max max 4096 Sep 25 17:16 b
drwxrwxr-x 2 max max 4096 Sep 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
total 20
drwxrwxr-x 5 max max 4096 Sep 25 17:26 .   ------> current directory link count
drwx------ 5 max max 4096 Sep 25 17:12 ..  ------> parent directory link count
-rw-rw-r-- 1 max max    0 Sep 25 17:26 1
-rw-rw-r-- 1 max max    0 Sep 25 17:26 2
-rw-rw-r-- 1 max max    0 Sep 25 17:26 3
drwxrwxr-x 2 max max 4096 Sep 25 17:16 a
drwxrwxr-x 2 max max 4096 Sep 25 17:16 b
drwxrwxr-x 2 max max 4096 Sep 25 17:16 c
[max@localhost zzz]$ cd
[max@localhost ~]$ ll
total 4
drwxrwxr-x 5 max max 4096 Sep 25 17:26 zzz

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

[max@localhost zzz]$ rmdir b c
[max@localhost zzz]$ cd
[max@localhost ~]$ ll
total 4
drwxrwxr-x 3 max max 4096 Sep 25 17:28 zzz

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .