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
в свой терминал.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.