LS(1) LS(1) НАЗВАНИЕ ls - выдача информации о файлах или каталогах СИНТАКСИС |ls [-R] [-a] [-d] [-C] [-x] [-m] [-l] [-n] [-o] [-g] [-r] [-t] [-u] [-c | [-p] [-F] [-b] [-q] [-i] [-s] [-f] [имя ...] ОПИСАНИЕ Команда ls для каждого имени каталога распечатывает список входящих в этот каталог файлов; для файлов - повторяется имя файла и выводится дополнительная ин- формация в соответствии с указанными флагами. По умол- чанию имена файлов выводятся в алфавитном порядке. Если имена не заданы, выдается содержимое текущего каталога. Если заданы несколько аргументов, то они сортируются по алфавиту, однако сначала всегда идут файлы, а потом ка- талоги с их содержимым. Существует три основных формата выдачи. По умолчанию выдается по одному файлу в строке; флаги -C и -x позво- ляют выдавать информацию в несколько колонок, а флаг -m задает свободный формат. Для определения формата вывода при указании флагов -C, -x и -m используется переменная окружения COLUMNS, значение которой равно количеству символов в выходной строке. Если эта переменная не ус- тановлена, используется база данных terminfo(4) и зна- чение переменной окружения TERM. Если эта информация недоступна, длина выходной строки берется равной 80. Командой ls обрабатываются следующие флаги: -R Рекурсивно обойти встретившиеся подкаталоги. -a Вывести список всех файлов (обычно не выводятся файлы, имена которых начинаются с точки). -d Если аргумент является каталогом, то выводить только его имя, а не содержимое. Часто использует- ся с флагом -l для получения сведений о состоянии каталога. -C Вывод в несколько колонок с сортировкой по колон- кам. -x Вывод в несколько колонок с сортировкой по стро- кам. -m Вывод в свободном формате, имена файлов разделяют- ся запятыми. -l Вывод в длинном формате: перед именами файлов вы- дается режим доступа, количество ссылок на файл, имена владельца и группы, размер в байтах и время последней модификации (см. ниже). Если файл явля- ется специальным, то в поле размера выводится старший и младший номера устройства. -n То же, что и -l, но идентификаторы владельца и группы выводятся в виде чисел, а не в виде имен. -o То же, что и -l, но идентификатор группы не выво- дится. -g То же, что и -l, но идентификатор владельца не вы- водится. -r Изменить порядок сортировки на обратный алфавитный или, при наличии флага -t, сначала выводить более старые файлы. -t Имена файлов сортируются не по алфавиту, а по вре- мени (сначала идут самые свежие файлы). По умолча нию используется время последнего изменения. См. также флаги -u и -c. -u Вместо времени последнего изменения использовать время последнего доступа для сортировки (с флагом -t) или для вывода (с флагом -l). -c Вместо времени последнего изменения использовать время последней модификации описателя файла (т.е. время создания файла, изменения режима доступа к нему и т.п.) для сортировки (с флагом -t) или для вывода (с флагом -l). -p Если файл является каталогом, то выдавать после его имени символ /. -F Если файл является каталогом, то выдавать после его имени символ /; если файл является выполняе- мым, то выдавать после его имени символ *. -b Выдавать непечатные символы, входящие в имя файла, в восьмеричном виде (\ddd). -q Выдавать непечатные символы, входящие в имя файла, в виде символа ?. -i Выдавать в первой колонке номера описателей фай- лов. -s Выдавать размер файлов в блоках (включая косвенные блоки). -f Рассматривать каждый аргумент как каталог и выво- дить его содержимое. Этот флаг отменяет флаги -l, -t, -s, -r и включает флаг -a. Сортировка имен файлов не производится; имена выдаются в таком по- рядке, в каком они перечислены в каталоге. Режим доступа к файлу при указании флага -l выводится в виде 10 символов. Первый символ означает: d Файл является каталогом. b Файл является специальным блочным файлом. c Файл является специальным символьным файлом. p Файл является именованным каналом. - Обычный файл. Остальные 9 символов делятся на три группы по три сим- вола: права доступа владельца, других пользователей из его группы, всех прочих пользователей. Внутри каждой группы используются три символа, обозначающие права на чтение, запись и выполнение файла соответственно. Для каталога под правом на выполнение подразумевается право на просмотр в поисках требуемого файла. При использовании команды |ls -l /util/by результат выглядит примерно так: |-rwxr-xr-x 1 root sys 50 Jun 22 10:42 /util/by Читая справа налево можно увидеть, что содержимое файла /util/by последний раз изменялось в 10 часов 42 минуты 22 января. Размер файла 50 байт. Владелец этого файла принадлежит группе sys, к тому же он является супер- пользователем (входное имя - root). Следующее число, в данном случае 1, обозначает количество ссылок на файл /util/by. Наконец, последовательность минусов и букв указывает, что владелец, члены группы и прочие пользо- ватели могут читать и выполнять файл, а владелец (и только он) имеет право писать в файл. Права обозначаются следующим образом: r Право на чтение. w Право на запись. x Право на выполнение (поиск в каталоге). - Данное право доступа отсутствует. l Учет блокировки доступа (бит переустановки иденти- фикатора группы равен 1, бит права на выполнение членами группы равен 0). Располагается на месте права на выполнение для членов группы. s Право переустанавливать идентификатор группы или идентификатор владельца и право выполнения файла для членов группы или владельца. S Неопределенная комбинация бит: право переустанав- ливать идентификатор владельца есть, а право вы полнения файла для владельца отсутствует. t Установлен бит навязчивости [см. chmod(1)] у фай- ла, который могут выполнять прочие пользователи. Располагается на месте права на выполнение для прочих пользователей. T Бит навязчивости установлен, а права на выполнение у прочих пользователей нет. Располагается на месте права на выполнение для прочих пользователей. ПРИМЕРЫ 1. Если файл имеет режим -rwxr--r-- он доступен владельцу для чтения, записи и выполнения, а членам группы и прочим пользователям только для чте- ния. 2. Режим -rwsr-xr-x свидетельствует о том, что файл доступен владельцу для чтения, записи и выполнения, а членам группы и прочим пользователям только для чтения и выполнения. Разрешена переустановка при выполнении идентификатора пользовате- ля на идентификатор владельца файла. 3. В случае режима -rw-rwl--- файл доступен для чтения и записи только владельцу и членам группы; может быть блокирован при доступе. 4. По команде |ls -a будут выведены имена всех файлов в текущем каталоге, включая и те, которые начинаются с точки и обычно не выдаются. 5. По команде |ls -aisn будет выдана разнообразная информация: список всех фай- лов, включая те, которые обычно не выводятся (a); номе- ра описателей файлов будут выведены в левой колонке (i); размеры файлов (в блоках) выводятся во второй ко- лонке (s); наконец, будут выданы числовые идентификато- ры владельцев и групп (n). ФАЙЛЫ /etc/passwd Идентификаторы пользователей (для ls -l и ls -o). /etc/group Идентификаторы групп для (ls -l и ls -o). /usr/lib/terminfo/?/* Сведения о терминале. СМ. ТАКЖЕ chmod(1), find(1). СЮРПРИЗЫ Непечатные символы в именах файлов могут дезорганизо- вать выдачу.