
ls — одна из основных команд, которую должен знать любой пользователь Linux.
Команда ls выводит список файлов и каталогов в файловой системе и показывает подробную информацию о них. Она входит в пакет основных утилит GNU, установленный во всех дистрибутивах Linux.
В этой статье будет показано, как использовать команду ls, с помощью практических примеров и подробных объяснений наиболее распространенных параметров ls.
Как использовать команду ls
Синтаксис команды ls следующий:
ls [ OPTIONS ] [ FILES ]
При использовании без параметров и аргументов ls отображает список имен всех файлов в текущем рабочем каталоге :
ls
Файлы перечислены в алфавитном порядке в максимально возможном количестве столбцов на вашем терминале:
cache db empty games lib local lock log mail opt run spool tmp
Чтобы вывести список файлов в определённом каталоге, передайте путь к нему в качестве аргумента команде ls . Например, чтобы вывести список содержимого каталога /etc , введите:
ls /etc
Вы также можете передать несколько каталогов и файлов, разделив их пробелом:
ls /etc /var /etc/passwd
Если у пользователя, под которым вы вошли в систему, нет прав на чтение каталога, вы получите сообщение о том, что ls не может открыть каталог:
ls /root
ls: cannot open directory '/root': Permission denied
Команда ls имеет ряд опций. В следующих разделах мы рассмотрим наиболее часто используемые из них.
Формат длинного списка
По умолчанию вывод команды ls показывает только имена файлов и каталогов, что не очень информативно.
Опция -l (строчная L) указывает ls выводить файлы в формате длинного списка.
При использовании формата длинного списка вы можете увидеть следующую информацию о файле:
- Тип файла.
- Права доступа к файлу.
- Количество жестких ссылок на файл.
- Владелец файла.
- Группа файлов.
- Размер файла.
- Дата и время.
- Имя файла.
Вот пример:
ls -l /etc/hosts
-rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts
Давайте поясним наиболее важные столбцы вывода.
Первый символ указывает тип файла. В этом примере первый символ — - , что означает обычный файл. Значения для других типов файлов следующие:
-
-— Обычный файл. -
b— Блокировать специальный файл. -
c— Специальный файл символов. -
d— Справочник. -
l— Символическая ссылка. -
n— Сетевой файл. -
p— ФИФО. -
s— Гнездо.
Следующие девять символов указывают права доступа к файлу. Первые три символа относятся к пользователю, следующие три — к группе, а последние три — к остальным. Вы можете изменить права доступа к файлу с помощью команды chmod . Символ разрешения может принимать следующие значения:
-
r— Разрешение на чтение файла. -
w— Разрешение на запись в файл. -
x— Разрешение на выполнение файла. -
s—setgidбит. -
t—stickyкусочек.
В нашем примере rw-r--r-- означает, что пользователь может читать и записывать файл, а группа и остальные могут только читать. Цифра 1 после символов прав доступа — это количество жёстких ссылок на этот файл.
Следующие два поля, root root содержат данные о владельце файла и группе, а также размер файла ( 337 ) в байтах. Используйте опцию -h , чтобы вывести размеры в удобном для восприятия формате. Изменить владельца файла можно с помощью команды chown .
Дата и время последнего изменения файла — Oct 4 11:31 .
Последний столбец — имя файла.
Показать скрытые файлы
По умолчанию команда ls не отображает скрытые файлы. В Linux скрытым считается любой файл, имя которого начинается с точки ( . ).
Чтобы отобразить все файлы, включая скрытые, используйте опцию -a :
ls -la ~/
drwxr-x--- 10 linuxize linuxize 4096 Feb 12 16:28 . drwxr-xr-x 18 linuxize linuxize 4096 Dec 26 09:21 .. -rw------- 1 linuxize linuxize 1630 Nov 18 2017 .bash_history drwxr-xr-x 2 linuxize linuxize 4096 Jul 20 2018 bin drwxr-xr-x 2 linuxize linuxize 4096 Jul 20 2018 Desktop drwxr-xr-x 4 linuxize linuxize 4096 Dec 12 2017 .npm drwx------ 2 linuxize linuxize 4096 Mar 4 2018 .ssh
Сортировка выходных данных
Как мы уже упоминали, по умолчанию команда ls выводит список файлов в алфавитном порядке.
Параметр --sort позволяет сортировать вывод по расширению, размеру, времени и версии:
-
--sort=extension(или-X) — сортировка в алфавитном порядке по расширению. -
--sort=size(или-S) — сортировка по размеру файла. -
--sort=time(или-t) — сортировка по времени изменения. -
--sort=version(или-v) — Естественная сортировка номеров версий.
Если вы хотите получить результаты в обратном порядке сортировки, используйте опцию -r .
Например, чтобы отсортировать файлы в каталоге /var по времени изменения в обратном порядке сортировки, можно использовать:
ls -ltr /var
Стоит отметить, что команда ls не показывает общий объём, занимаемый содержимым каталога. Чтобы узнать размер каталога , используйте команду du .
Рекурсивный список подкаталогов
Опция -R указывает команде ls рекурсивно отображать содержимое подкаталогов:
ls -R
Заключение
Команда ls выводит информацию о файлах и каталогах.
Для получения дополнительной информации о ls посетите страницу GNU Coreutils или введите man ls в терминале.
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Связанные руководства