Введение
Команда 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
через пробел:
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 445 May 5 12:11 /etc/hosts
Мы объясняем наиболее важные столбцы вывода.
Первый символ показывает тип файла. В нашем примере первый символ -
это обычный файл. Значения для других типов файлов следующие:
-
Обычный файлb
- Заблокировать специальный файлc
- файл специальных символовd
- Справочникl
- символическая ссылкаn
- сетевой файлp
- ФИФОs
- Розетка
Следующие девять символов показывают права доступа к файлу. Первые три символа предназначены для пользователя, следующие три — для группы, а последние три — для остальных. Вы можете изменить права доступа к файлу с помощью команды chmod
. Символ авторизации может иметь следующее значение:
r
- Авторизация для чтения файлаw
- Разрешение на запись в файлx
- Разрешение на выполнение файлаs
- бит setgidt
- немного липкий
В нашем примере rw-r--r--
означает, что пользователь может читать и записывать файл, а группа и другие могут только читать файл. Цифра 1
после символов авторизации — это количество жестких ссылок на этот файл.
Следующие два root root
поля показывают владельца файла и группу, за которыми следует размер файла 445
, показанный в байтах. Используйте параметр -h
, если вы хотите печатать форматы в удобочитаемом формате. Вы можете изменить владельца файла с помощью команды chown
May 5 12:11
— это дата и время последнего изменения файла.
Последний столбец — это имя файла.
Показать скрытые файлы
По умолчанию команда ls
не показывает скрытые файлы. В Linux скрытый файл — это любой файл, начинающийся с точки ( .
).
Чтобы просмотреть все файлы, включая скрытые файлы, используйте параметр -a
:
ls -la ~/
drwxr-x--- 11 noviello noviello 4096 Feb 11 14:28.
drwxr-xr-x 12 noviello noviello 4096 Dec 22 03:28..
-rw------- 2 noviello noviello 1630 Nov 13 2018.bash_history
drwxr-xr-x 3 noviello noviello 4096 Jul 23 2018 bin
drwxr-xr-x 3 noviello noviello 4096 Jul 22 2018 Desktop
drwxr-xr-x 4 noviello noviello 4096 Dec 11 2018.npm
drwx------ 1 noviello noviello 4096 Mar 1 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
в терминале:
man ls