Может ли кто-нибудь объяснить -rw-rw-r--. 1
и дать некоторую "подробную" информацию о команде ls -lart.
В частности, что означает число 1
после разрешения файла?
Почему он меняется или почему он отличается для разных файлов?
Может ли кто-нибудь объяснить -rw-rw-r--. 1
и дать некоторую "подробную" информацию о команде ls -lart.
В частности, что означает число 1
после разрешения файла?
Почему он меняется или почему он отличается для разных файлов?
Некоторые примеры:
-rwxrw-r-- 1
- файл с привилегиями чтения, записи и выполнения для владельца. Группа читает и пишет, а другие только читают. Нет ссылок на эти данные.
drwxr-xr-x 10
- это каталог с 8 файлами. Дополнительные 2 есть .
и ..
Только владелец может создавать файлы в этом каталоге, другие могут получать доступ к файлам в каталоге и читать содержимое этих файлов, если позволяют привилегии.
-r-------- 2
- это файл, который только владелец может прочитать, но не может выполнить или изменить. У него есть ссылка, что означает, что на диске есть еще одна ссылка на файл, которая обращается к тем же данным. Таким образом, фактическое "содержимое файла" на диске содержит 2 "файла", ссылающихся на него. Эти ссылки часто создаются с использованием ln
без указания -s
.
Так:
-
или d
указывающий файл или каталог.r
EAD, w
чин и е x
ecute для владельца.Смотрите главу Длинный формат man ls
.
Вкратце: это количество жестких ссылок на содержимое файла. 1 означает отсутствие жестких ссылок, 2 означает, что это и другое имя файла имеют одинаковое содержимое и т.д.
Для каталогов большинство, но не все файловые системы сообщают о количестве ссылок 2+nr_of_subdirs (для получения дополнительной информации прочтите это)
[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