Бортовой журнал
Бортовой журнал

Команда ls – одна из базовых утилит Linux, с которой начинается знакомство с командной строкой. Она используется для просмотра содержимого каталогов и на первый взгляд кажется предельно простой: выполнил команду – получил список файлов. Но за этой простотой скрывается куда больше возможностей, чем ожидают новички.

ls может показывать подробную информацию о файлах, сортировать вывод по разным параметрам, работать с правами доступа, символическими ссылками и скрытыми объектами.

В этой статье рассмотрим команду ls на простых и полезных примерах. Покажем, как ее использовать в обычной работе с Linux, чтобы быстро находить файлы, видеть их размер, дату изменения и другие важные детали.

Что выведет команда ls по умолчанию

Если выполнить команду ls без каких-либо параметров, она выведет список файлов и каталогов в текущей директории. В вывод попадают только обычные элементы – файлы и папки, имена которых не начинаются с точки.

Картинка 1

При этом команда не отображает скрытые файлы и каталоги (например, .bashrc или .config), не показывает права доступа, владельца, размер и дату изменения. Вывод максимально лаконичный и предназначен для быстрого обзора содержимого каталога.

Навигация по каталогам с помощью команды ls

Файловая система Linux организована в виде дерева каталогов. В его основе находится корневой каталог, обозначаемый символом /, от которого последовательно отходят все остальные директории и файлы. Команда ls позволяет просматривать содержимое любого уровня этой структуры и быстро ориентироваться в ней.

При работе с ls можно указывать как текущий каталог, так и любой другой, используя путь:

Абсолютный путь – задает расположение каталога или файла, начиная от корня файловой системы. Такой путь всегда начинается с символа /.

Пример:

ls /home/sweb/file1/

Относительный путь – указывает местоположение файла или папки относительно текущей директории. Он не начинается с /, потому что отсчет идет не от корня, а от текущей директории.

Чтобы удобнее перемещаться, в Linux используют короткие и понятные обозначения:

~ – домашний каталог пользователя (например, /home/user);

. – ссылается на текущую директорию;

.. –родительский каталог.

Например, команда ls .. покажет содержимое каталога уровнем выше, а ls ~/Documents – файлы в папке Documents домашнего каталога. 

Как посмотреть все файлы в директории Linux с помощью ls

По умолчанию команда ls показывает только обычные файлы и папки. Скрытые файлы и папки она не отображает. В Linux скрытыми считаются те, у которых имя начинается с точки – например, .config или .bashrc. Чаще всего это конфигурационные файлы и служебные каталоги.

Чтобы увидеть все файлы в директории, включая скрытые, используйте параметр -a:

ls -a
Картинка 2

В выводе появятся:

обычные файлы и каталоги;
скрытые файлы и папки;
специальные элементы . и .., обозначающие текущую и родительскую директории.

Если необходимо показать все файлы, но при этом скрыть . и .., пропишите параметр -A:

ls -A
Картинка 3

Он отображает скрытые файлы, но не показывает служебные записи . и .., которые ссылаются на текущую и родительскую папки. Вывод получается чище – удобно быстро проверить, есть ли в папке скрытые настройки или конфигурационные файлы.

Команда работает одинаково как для текущей директории, так и для любой другой. Достаточно указать путь:

ls -a /home/user

В результате вы получите полную картину содержимого каталога, включая те файлы, которые обычно не видны при стандартном использовании ls.

Как посмотреть список папок в Linux командой ls

По умолчанию ls показывает файлы и папки вместе, просто в алфавитном порядке. Если элементов много, трудно быстро найти нужную папку. Чтобы было проще, можно попросить ls показать только каталоги – так удобнее ориентироваться, особенно в загруженных директориях.

Самый простой способ – воспользоваться параметром -d в сочетании с шаблоном:

ls -d */

Команда покажет только папки в текущей директории. Звездочка * означает все, а слэш в конце / указывает, что нужны только каталоги. Файлы не попадут в список, потому что у них нет слэша в конце.

Если нужно посмотреть список каталогов в другом месте файловой системы, достаточно указать путь:

ls -d /var/log/*/

Вывод удобен для быстрой оценки структуры каталога и навигации без лишней информации.

Список папок можно сделать подробнее. Если добавить параметр -l, команда покажет не только названия, но и важные сведения: права доступа, кто владелец, к какой группе относится и когда папку меняли в последний раз.

ls -ld */

В этом случае будет показана информация о каждой папке: права доступа, владелец, группа и дата последнего изменения.

Также стоит учитывать, что скрытые каталоги (начинающиеся с точки) не попадут в вывод. Чтобы включить их, используется параметр -a:

ls -d .*/

Как получить справку по утилите ls

Утилита ls содержит десятки параметров, и запомнить их все на практике невозможно. В Linux для этого предусмотрены встроенные средства справки, которые позволяют быстро разобраться в возможностях команды без поиска информации в интернете.

Краткую справку по доступным опциям можно вывести с помощью параметра --help:

ls --help

В ответ команда отобразит список ключей с короткими пояснениями к каждому из них. Она подойдет, если нужно быстро вспомнить нужный ключ или проверить его назначение.

Картинка 4

Более подробную и структурированную документацию можно получить через встроенное руководство man:

man ls
Картинка 5

Страница справки содержит описание команды, синтаксис, список параметров и дополнительные комментарии. Внутри руководства можно перемещаться с помощью клавиш прокрутки, выполнять поиск по тексту и выходить из справки клавишей q.

В некоторых системах дополнительно доступна краткая справка через команду info:

info ls
Картинка 6

Этот вариант встречается реже, но может быть полезен в минимальных системах или при работе с альтернативным форматом документации.

Основные опции ls

Команда ls поддерживает множество параметров, которые позволяют управлять форматом вывода, сортировкой и отображаемой информацией. Далее мы собрали наиболее полезные и часто применяемые параметры:

Опция Описание
-a Отображает все содержимое директории, включая скрытые файлы и каталоги
-A Отображает все файлы, кроме . и ..
-l Выводит подробный список с правами доступа, владельцем, группой, размером и датой изменения
-h Преобразует размер файлов в удобный формат (КБ, МБ, ГБ), используется вместе с -l
--author Показывает автора файла в подробном выводе
-b Отображает имена файлов со служебными символами в экранированном виде
-B Исключает резервные копии файлов с символом ~ в конце имени
-c Использует время изменения атрибутов файла при сортировке или выводе
-d Выводит информацию о каталоге без отображения его содержимого
-f Отключает сортировку и выводит элементы в порядке файловой системы
-F Добавляет символ в конец имени файла для обозначения типа объекта
--full-time Отображает дату и время в полном формате ISO
-i Показывает inode каждого файла или каталога
-g Аналогично -l, но без отображения владельца
-m Выводит элементы списка через запятую
-1 Отображает каждый файл или каталог в отдельной строке
-n Показывает UID и GID вместо имен пользователя и группы
--color Управляет цветным выводом файлов и каталогов (auto, always, never)
-R Рекурсивно выводит содержимое всех подкаталогов
-S Сортирует файлы по размеру от большего к меньшему
-Sr Сортирует файлы по размеру от меньшего к большему
-t Сортирует файлы по времени последнего изменения
-u Сортирует файлы по времени последнего доступа
-p Добавляет слэш (/) к именам каталогов
-q Заменяет управляющие символы в именах файлов на ?
-T Задает ширину табуляции при выводе
-w Устанавливает ширину колонки вывода
-v Сортирует файлы по номеру версии

Комбинирование опций

Одна из ключевых особенностей команды ls – возможность объединять несколько опций в одной команде. Вместо того чтобы запускать разные команды, можно соединить нужные параметры, чтобы получить точный результат с первого раза.

Чаще всего опции записываются вместе, без пробелов, сразу после ls. Например, комбинация -l, -a и -h используется для получения полного списка файлов, включая скрытые, с удобным отображением размеров:

ls -lah

Порядок опций в команде ls в большинстве случаев не важен. Например, ls -al и ls -la работают одинаково – система смотрит на набор букв после дефиса и учитывает все указанные параметры, независимо от их очередности.

Комбинирование опций полезно, когда нужно быстро проанализировать содержимое папки. Например, можно одновременно включить подробный вывод и сортировку по размеру файлов. Для этого используется команда:

ls -lS

Или отобразить все файлы, включая скрытые, отсортировав их по времени изменения:

ls -lat

Можно смешивать короткие и длинные опции в одной команде. Например:

ls -l --full-time --color=auto

Пример: как использовать команду на практике

Рассмотрим типичный сценарий работы с командой ls, чтобы понять, как она используется в реальной работе.

Сначала откройте терминал. По умолчанию вы окажетесь в домашней директории текущего пользователя. Проверить текущее расположение можно командой:

pwd

Пример вывода:

/home/user

Если нужно перейти в другой каталог, используйте команду cd, указав путь к нужной директории:

cd /var/log

После перехода можно посмотреть содержимое каталога. Для этого достаточно выполнить ls без параметров:

ls

Пример вывода:

alternatives.log  auth.log  boot.log  dmesg  dpkg.log  kern.log  syslog  wtmp

В результате отобразится список файлов и папок в стандартном формате – без скрытых элементов и дополнительной информации.

Чтобы получить более подробные сведения, используйте длинный формат вывода:

ls -l

Пример вывода:

-rw-r----- 1 root adm   18652 Jan 24 09:12 auth.log
-rw-r--r-- 1 root root   8250 Jan 26 07:40 boot.log
-rw-r--r-- 1 root root  64211 Jan 26 08:10 dpkg.log
-rw-r----- 1 root adm  123456 Jan 26 08:15 syslog

Команда покажет, что перед вами – файл, папка или ссылка, а также права доступа, кому он принадлежит, размер и когда менялся. Подобный вывод удобен, когда нужно быстро оценить содержимое каталога и понять, какие файлы были изменены недавно, или выявить подозрительные настройки доступ

Если в каталоге есть скрытые файлы и их нужно увидеть, добавьте опцию -a:

ls -a

Пример вывода:

.  ..  .journal  alternatives.log  auth.log  boot.log  dmesg  dpkg.log  syslog

В выводе появятся конфигурационные файлы и служебные каталоги, имена которых начинаются с точки.

Далее можно отсортировать файлы по времени последнего изменения, чтобы увидеть самые новые из них:

ls -lt

Пример вывода:

-rw-r– --- 1 root adm  123456 Jan 26 08:15 syslog
-rw-r– r– –1 root root  64211 Jan 26 08:10 dpkg.log
-rw-r– r– –1 root root   8250 Jan 26 07:40 boot.log
-rw-r– --- 1 root adm   18652 Jan 24 09:12 auth.log

А при необходимости быстро найти самые крупные файлы в каталоге используется сортировка по размеру:

ls -lS

Пример вывода:

-rw-r– --- 1 root adm  123456 Jan 26 08:15 syslog
-rw-r– r– –1 root root  64211 Jan 26 08:10 dpkg.log
-rw-r– --- 1 root adm   18652 Jan 24 09:12 auth.log
-rw-r– r– –1 root root   8250 Jan 26 07:40 boot.log

Для визуального различия файлов и каталогов можно добавить опцию -F, которая помечает тип объекта специальным символом:

ls -F

Пример вывода:

auth.log  boot.log  dmesg  dpkg.log  syslog  wtmp  journal/

Заключение

Команда ls – это простой, но крайне полезный инструмент для просмотра содержимого каталогов в Linux. Она помогает быстро увидеть файлы, папки, их свойства и организовать вывод так, как удобно: в строку или столбцы, с деталями или кратко. С помощью опций можно показать скрытые файлы, отсортировать по размеру или дате, вывести только папки или добавить цвет для наглядности.

Освоив ее, вы получите полный контроль над обзором файловой системы – прямо из терминала.

FAQ

Как вывести список файлов с определенными атрибутами?

Используйте ls в длинном формате и фильтруйте вывод по нужному признаку через grep (или awk). Например, чтобы показать только файлы с правами на выполнение:

ls -l | grep '^-..x'

Для отбора по другим атрибутам меняйте шаблон в grep (права, владелец, группа и т. д.).

Как отфильтровать вывод команды ls?

Вывод команды ls фильтруется не самой утилитой, а с помощью стандартных инструментов командной строки, передавая результат через конвейер (|).

Чаще всего используют:

grep – фильтрация по тексту;

ls | grep log

Покажет только файлы, в имени которых есть log.

ls -l + grep – фильтрация по атрибутам;

ls -l | grep '^d'

Выведет только каталоги.

awk – фильтрация по столбцам;

ls -l | awk '$5 > 100000'

Покажет файлы больше указанного размера.

шаблоны – фильтрация еще на этапе вывода;

ls *.txt

Выведет только файлы с расширением .txt.

Какие дополнительные опции есть у команды ls?

У команды ls есть много дополнительных опций, которые используются реже, но могут быть полезны в конкретных задачах – при анализе файлов, отладке, работе со скриптами или администрировании:

--time-style=FORMAT – задает формат отображения даты и времени (например, full-iso, long-iso);

--block-size=SIZE – изменяет единицы измерения размера файлов;

--inode – аналог опции -i, выводит inode файлов;

--numeric-uid-gid – отображает UID и GID в числовом виде;

--group-directories-first – выводит каталоги в начале списка;

--quoting-style=STYLE – управляет способом экранирования имен файлов;

--hide=PATTERN – скрывает файлы, подходящие под шаблон;

--show-control-chars – отображает управляющие символы в именах файлов;

--dereference – показывает информацию о файле, на который указывает символическая ссылка;

--file-type – добавляет символ типа файла (аналог -F, но без * для исполняемых файлов).

Полный список всегда можно посмотреть через ls --help или man ls.