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 | Бит навязчивости установлен, а права на выполнение
у прочих пользователей нет. Располагается на месте
права на выполнение для прочих пользователей.
|
---|
ПРИМЕРЫ
- Если файл имеет режим
-rwxr--r-
он доступен владельцу для чтения, записи и выполнения,
а членам группы и прочим пользователям только для чтения.
- Режим
-rwsr-xr-x
свидетельствует о том, что файл доступен владельцу для
чтения, записи и выполнения, а членам группы и прочим
пользователям только для чтения и выполнения. Разрешена
переустановка при выполнении идентификатора пользователя на идентификатор владельца файла.
- В случае режима
-rw-rwl--
файл доступен для чтения и записи только владельцу и
членам группы; может быть блокирован при доступе.
- По команде
ls -a
будут выведены имена всех файлов в текущем каталоге,
включая и те, которые начинаются с точки и обычно не
выдаются.
- По команде
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).
СЮРПРИЗЫ
Непечатные символы в именах файлов могут дезорганизовать выдачу.