Команда ls – одна из базовых утилит Linux, с которой начинается знакомство с командной строкой. Она используется для просмотра содержимого каталогов и на первый взгляд кажется предельно простой: выполнил команду – получил список файлов. Но за этой простотой скрывается куда больше возможностей, чем ожидают новички.
ls может показывать подробную информацию о файлах, сортировать вывод по разным параметрам, работать с правами доступа, символическими ссылками и скрытыми объектами.
В этой статье рассмотрим команду ls на простых и полезных примерах. Покажем, как ее использовать в обычной работе с Linux, чтобы быстро находить файлы, видеть их размер, дату изменения и другие важные детали.
Что выведет команда ls по умолчанию
Если выполнить команду ls без каких-либо параметров, она выведет список файлов и каталогов в текущей директории. В вывод попадают только обычные элементы – файлы и папки, имена которых не начинаются с точки.
При этом команда не отображает скрытые файлы и каталоги (например, .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
В выводе появятся:
обычные файлы и каталоги;
скрытые файлы и папки;
специальные элементы . и .., обозначающие текущую и родительскую директории.
Если необходимо показать все файлы, но при этом скрыть . и .., пропишите параметр -A:
ls -A
Он отображает скрытые файлы, но не показывает служебные записи . и .., которые ссылаются на текущую и родительскую папки. Вывод получается чище – удобно быстро проверить, есть ли в папке скрытые настройки или конфигурационные файлы.
Команда работает одинаково как для текущей директории, так и для любой другой. Достаточно указать путь:
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
В ответ команда отобразит список ключей с короткими пояснениями к каждому из них. Она подойдет, если нужно быстро вспомнить нужный ключ или проверить его назначение.
Более подробную и структурированную документацию можно получить через встроенное руководство man:
man ls
Страница справки содержит описание команды, синтаксис, список параметров и дополнительные комментарии. Внутри руководства можно перемещаться с помощью клавиш прокрутки, выполнять поиск по тексту и выходить из справки клавишей q.
В некоторых системах дополнительно доступна краткая справка через команду info:
info ls
Этот вариант встречается реже, но может быть полезен в минимальных системах или при работе с альтернативным форматом документации.
Основные опции 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.