Программирование в стандарте POSIX


Получение информации о файлах и файловых системах - часть 2


Далее следуют строки с информацией об отдельных файлах. Первый символ в этих строках задает тип файла:

  • d - каталог;
  • b - блочный специальный файл;
  • c - символьный специальный файл;
  • l - символьная ссылка;
  • p - канал;
  • - (минус) - обычный файл.

Отметим, что стандартом POSIX-2001 не предусмотрено обозначение для сокетов, указано только, что реализации могут вводить свои типы файлов и обозначения для них.

Девять последующих символов отражают режим доступа к файлу: первые три символа - права доступа его владельца, следующие три - владеющей группы, последние три - права доступа прочих пользователей. Наличие буквы r (чтение), w (запись) или x (выполнение) означает, что соответствующее право имеется; знак минус свидетельствует об отсутствии права. Например, файл   /usr является каталогом, куда может писать только пользователь root, а читать и искать информацию - все остальные.

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

Следующие два столбца - имена владельца файла и владеющей группы, после чего идет размер файла в байтах. Для специальных файлов вместо размера нередко выдается зависящая от реализации информация о соответствующем устройстве.

Наконец, следуют дата и время последнего изменения и имя файла. По умолчанию имена файлов сортируются в алфавитном порядке.

Опишем еще несколько употребительных опций служебной программы ls.

КлючОписание
-aВывести список всех файлов (обычно не выводятся данные о файлах, имена которых начинаются с точки).
-CВыдавать имена файлов в несколько столбцов (с сортировкой по столбцам). Отметим, что если в командной строке встречаются пары взаимоисключающих опций (например, -lC), то действует та, что указана последней.
-dТрактовать каталоги наравне с файлами других типов. Часто используется с опцией -l для получения сведений о состоянии каталога.
-FВыводить символ / после имен каталогов, * - после выполнимых файлов, | - после каналов, @ - после символьных ссылок.
-iВыдавать порядковый номер файла в файловой системе (см. выше).
-R

Рекурсивно обойти встретившиеся подкаталоги.

-rИзменить порядок сортировки файлов на обратный.
-tИспользовать в качестве первичного ключа сортировки время последнего изменения (сначала идут самые свежие файлы); имя служит вторичным ключом. Обычно символьные ссылки трактуются утилитой ls наравне с файлами других типов, только на месте имени выводится комбинацияимя_файла-ссылки -> содержимое_файла-ссылки. Для получения информации о файле, на который указывает символьная ссылка, следует воспользоваться одной из следующих опций.
-LЕсли символьная ссылка является аргументом утилиты ls или встретилась в процессе обхода файловой иерархии, выдавать информацию об указуемом файле, а не о ссылке. На месте имени выводится имя файла-ссылки (а не указуемого файла).
-HАналогична -L, но воздействует только на символьные ссылки, заданные в командной строке и указывающие на каталог.




Начало  Назад  Вперед



Книжный магазин