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 обрабатываются следующие флаги:
/
./
; если файл является выполняемым, то выдавать после его имени символ *
.\ddd
).?
.Режим доступа к файлу при указании флага -l выводится в виде 10 символов. Первый символ означает:
Остальные 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
. Наконец, последовательность минусов и букв указывает, что владелец, члены группы и прочие пользователи могут читать и выполнять файл, а владелец (и только он) имеет право писать в файл.
Права обозначаются следующим образом:
-rwxr--r-
он доступен владельцу для чтения, записи и выполнения, а членам группы и прочим пользователям только для чтения.
-rwsr-xr-x
свидетельствует о том, что файл доступен владельцу для чтения, записи и выполнения, а членам группы и прочим пользователям только для чтения и выполнения. Разрешена переустановка при выполнении идентификатора пользователя на идентификатор владельца файла.
-rw-rwl--
файл доступен для чтения и записи только владельцу и членам группы; может быть блокирован при доступе.
ls -a
будут выведены имена всех файлов в текущем каталоге, включая и те, которые начинаются с точки и обычно не выдаются.
ls -aisn
будет выдана разнообразная информация:
/etc/passwd
— Идентификаторы пользователей (для ls -l
и ls -o
).
/etc/group
— Идентификаторы групп для (ls -l
и ls -o
).
/usr/lib/terminfo/?/*
— Сведения о терминале.
Непечатные символы в именах файлов могут дезорганизовать выдачу.