При создании объектов файловой системы – файлов, каталогов и т. п. – каждому приписывается ярлык. Ярлык включает в себя UID – идентификатор пользователя-хозяина файла, GID – идентификатор группы, которой принадлежит файл, тип объекта и набор так называемых атрибутов (код доступа), а также некоторую дополнительную информацию. Атрибуты (или код доступа) определяют, кто и что имеет право делать с файлом, они описаны ниже:
Пример 4. Атрибуты каталогов, показанные командой ls -l
итого 88drwxr-xr-x 2 root root 4096 Апр 4 2011 bin
drwxr-xr-x 4 root root 4096 Апр 4 2011 boot
drwxr-xr-x 10 root root 3520 Апр 5 14:26 dev
drwxr-xr-x 90 root root 8192 Апр 5 14:22 etc
drwxr-xr-x 3 root root 4096 Апр 4 21:22 home
drwxr-xr-x 11 root root 4096 Апр 4 2011 lib
drwx------ 2 root root 16384 Апр 4 2011 lost+found
drwxr-xr-x 4 root root 4096 Апр 5 14:22 media
drwxr-xr-x 2 root root 4096 Июл 11 2010 misc
drwxr-xr-x 2 root root 4096 Окт 20 2011 mnt
drwxr-xr-x 2 root root 0 Апр 5 14:21 net
drwxr-xr-x 2 root root 4096 Окт 20 2011 opt
dr-xr-xr-x 106 root root 0 Апр 5 2010 proc
drwxr-x--- 31 root root 4096 Апр 5 14:29 root
drwxr-xr-x 2 root root 8192 Апр 4 2010 sbin
drwxr-xr-x 2 root root 4096 Окт 20 2010 selinux
drwxr-xr-x 2 root root 4096 Окт 20 2010 srv
drwxr-xr-x 11 root root 0 Апр 5 2010 sys
drwxrwxrwt 16 root root 4096 Апр 5 14:26 tmp
|
|
drwxr-xr-x 15 root root 4096 Апр 4 2010 usr
drwxr-xr-x 21 root root 4096 Апр 4 2010 var
Ключ "-l" утилиты ls определяет длинный (l ong) формат выдачи (справа налево): имя файла, время последнего изменения файла, размер в байтах, группа, хозяин, количество жестких ссылок и строчка атрибутов. Первый символ в строчке атрибутов определяет тип файла. Тип "-" отвечает "обычному" файлу, а тип "d" – каталогу (d irectory).
Несмотря на то, что создание жестких ссылок на каталог невозможно, значение поля "количество жестких ссылок" (второй столбец) для всех каталогов примера равно двум, а не одному. На самом деле этого и следовало ожидать, потому что любой каталог файловой системы Linux всегда имеет не менее двух имен: собственное (например, tmp) и имя "." в самом этом каталоге (tmp/.). Если же в каталоге создать подкаталог, количество жестких ссылок на этот каталог увеличится на 1 за счет имени ".." в подкаталоге (например, tmp/subdir1/..):