Основы операционной системы UNIX

       

Получение информации о файлах


Для просмотра информации о типах (и других атрибутах) файлов в ОС UNIX используется команда ls со следующим синтаксисом:

ls [-abCcdeFfgiLlmnopqRrstux1] [файл ...]

Команда ls выдает информацию об указанных файлах или о файлах и каталогах в текущем каталоге (если файл не задан). Формат и подробность выдаваемой информации зависит от опций. Основные опции команды ls представлены в табл. 10:

Таблица 10. Основные опции команды ls

Опция Назначение
-aВыдает все файлы и подкаталоги, включая те, имена которых начинаются с точки (.). По умолчанию такие файлы не выдаются (они считаются скрытыми).
-FДобавляет к имени файла суффикс, показывающий его тип (см. ). Помечает каталоги косой чертой (/), выполняемые файлы - звездочкой (*), именованные каналы (FIFO) - вертикальной чертой (|), символические связи - "собакой" (@), а сокеты - знаком равенства (=).
-iДля каждого файла выдает в первом столбце листинга номер индексного дескриптора (i-node). Об индексных дескрипторах см. в разделе, посвященном физическим файловым системам UNIX.
-lВыдает длинный листинг, включающий права доступа, количество связей, владельца, группу, размер в байтах, время последнего изменения каждого файла и, естественно, имя файла. Если файл является специальным файлом устройства, вместо размера выдаются главный и второстепенный номера устройства. Если с момента последнего изменения прошло более 6 месяцев, оно обычно выдается в формате 'месяц день год'. Для файлов, измененных позднее, чем 6 месяцев назад, время выдается в формате 'месяц день время'. Если файл является символической связью, в длинном листинге после имени файла указывается стрелочка (->) и имя файла, на который связь ссылается.
-rИзменяет порядок сортировки на обратный стандартному (обратный лексикографический или сначала самые старые файлы, в зависимости от других опций).
-RРекурсивно выдает содержимое подкаталогов.
-tСортирует листинг по временной отметке (сначала - самые новые), а не по имени файла. По умолчанию используется время последнего изменения. (Опции -u и -c позволяют сортировать по времени последнего обращения и времени создания, соответственно.)
<


Как видно из синтаксиса, можно задавать одновременно несколько опций. Вот как можно посмотреть подробную информацию о файлах в каталоге /tmp, начиная с самых давно изменявшихся:

[kravchuk@arturo 14:28:07 /tmp]$ cd /tmp [kravchuk@arturo 14:28:07 /tmp]$ ls -lrt -rw-rw-r-- 1 root sys 8296 Фев 23 15:39 ps_data drwx------ 2 root root 110 Фев 23 15:41 smc898 -rw-rw---- 1 root informix 0 Фев 23 18:53 bar_dbug.log drwxr-xr-x 2 informix informix 115 Фев 24 13:05 txt -rw------- 1 root other 0 Фев 25 13:50 mpQ1aGEp -rw------- 1 remisov software 0 Фев 25 15:03 mpwsaWPr -rw------- 1 remisov software 0 Фев 25 15:37 mpOFaqZs -rw------- 1 remisov software 0 Фев 25 16:25 mppfaa.t -rw------- 1 remisov software 0 Фев 26 13:30 mpUCaGDG -rw------- 1 remisov software 0 Фев 26 14:25 mpRfaaSI -rw------- 1 remisov software 0 Фев 26 16:41 mpCJaqUL -rw------- 1 remisov software 0 Фев 26 16:56 mpUgaatM -rw------- 1 remisov software 0 Фев 26 17:01 mpYua4AM -rw-r--r-- 1 informix informix 565 Фев 27 17:27 mkdb1994.err -rw-r--r-- 1 informix informix 2062 Фев 27 17:29 mkdb2003.err -rw------- 1 root other 314872 Фев 27 21:35 dtdbcache_:0 -rw-r--r-- 1 root other 0 Фев 27 21:35 sdtvolcheck4684 ...

Основным форматом результатов ls является так называемый длинный листинг (задаваемый опцией -l). По умолчанию выдаются только имена файлов в несколько столбцов:

[kravchuk@arturo 14:31:40 /tmp]$ cd / [kravchuk@arturo 14:31:47 /]$ ls INFORMIXTMP dev home opt sbin INFORMIXTMP9 devices kernel opt.orig tmp TT_DB dt lib platform usr bin etc lost+found prj var boot export mnt proc vol cdrom fs net root xfn [kravchuk@arturo 14:31:48 /]$

Часто также используется опция -F:

[kravchuk@arturo 14:31:48 /]$ ls -F INFORMIXTMP/ dev/ home/ opt@ sbin/ INFORMIXTMP9/ devices/ kernel/ opt.orig/ tmp/ TT_DB/ dt/ lib@ platform/ usr/ bin@ etc/ lost+found/ prj@ var/ boot/ export/ mnt/ proc/ vol/ cdrom/ fs/ net/ root/ xfn/

Многочисленные примеры использования и результатов выполнения команды ls представлены в следующих разделах.


Содержание раздела