Гид по технологиям

Команда ls в Linux — полное руководство

7 min read Linux Обновлено 06 Jan 2026
Команда ls в Linux — полное руководство
Команда ls в Linux — полное руководство

TL;DR

Команда ls показывает список файлов и папок в каталоге и может выводить подробные сведения (права, владелец, размер, время). Освойте флаги -l, -a, -h, -R и комбинации с grep, sort и xargs, чтобы эффективно просматривать и фильтровать содержимое файловой системы.

Важное: ls выводит «снимок» каталога в момент вызова — для поиска по контенту используйте find или grep по файлам.

Использование команды ls в Linux: список файлов и папок

О чём эта статья

Это подробное руководство по команде ls в Linux. Вы найдёте синтаксис, распространённые флаги, реальные примеры, советы по использованию с другими утилитами и сценарии для разных ролей: администратору, разработчику, новичку. В конце — шпаргалка, чек-листы и FAQ.

Что делает команда ls

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

Коротко о терминах:

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

Синтаксис

ls [опции] [каталог...]

Если каталог не указан, ls работает в текущем каталоге (.). Можно передать несколько путей через пробел.

Базовые примеры

  • Показать имена в текущем каталоге:
ls
  • Показать содержимое конкретного каталога:
ls /boot
  • Показать несколько каталогов:
ls /boot /usr

Часто используемые флаги и комбинации

  • -l — длинный формат (права, ссылки, владелец, группа, размер, дата/время, имя)
  • -a — показывать все, включая скрытые файлы (имя начинается с .)
  • -h — «читаемые» размеры (4.0K, 2.9M)
  • -R — рекурсивно перечислять подкаталоги
  • -S — сортировать по размеру (убыв.)
  • -t — сортировать по времени изменения (новые — первыми)
  • -r — обратный порядок сортировки
  • -F — добавлять символ типа объекта (/ для каталогов, * для исполняемых и т.д.)
  • -d — показывать каталог как запись (показать только сам каталог, не его содержимое)
  • -s — выводить занятое место в блоках для каждой записи

Комбинации:

ls -lah    # длинный, все файлы, удобные для чтения размеры
ls -R /var  # рекурсивно вывести /var
ls -S -r    # отсортировать по возрастанию размера

Разбор вывода ls -l

Пример:

-rw-r--r-- 1 alice staff 2.9M Feb  8 13:53 file.tar.gz
drwxr-xr-x 3 bob   dev   4.0K Feb  8 13:53 src
lrwxrwxrwx 1 root  root    9 Feb  8 12:00 link -> /some/target

Пояснение столбцов слева направо:

  1. Тип и права (первые 10 символов). Первое — тип: “-“ обычный файл, “d” — каталог, “l” — символическая ссылка и т.д.
  2. Число ссылок (количество жёстких ссылок или каталогов).
  3. Владелец файла.
  4. Группа владельца.
  5. Размер (в байтах или удобный формат с -h).
  6. Дата и время последней модификации.
  7. Имя файла (для ссылок — и цель ссылки).

Права читаются как три триплета: владелец, группа, остальные. Пример rwxr-xr– означает чтение/запись/выполнение для владельца, чтение/выполнение для группы и только чтение для остальных.

Показ только директорий

ls -d */
ls -d /home/*/

Опция -d в сочетании со звездочкой удобно фильтрует каталоги. Символ / добавляется при -F.

Рекурсивный вывод и когда он «падает»

ls -R перечисляет каталоги рекурсивно. Это удобно, но:

  • В больших деревьях вывода будет очень много — используйте | less или перенаправление в файл.
  • ls не предназначен для сложных поисков по критериям (по маске даты/атрибутов) — для этого лучше find.

Пример безопасного использования:

ls -R /var/log | less
ls -R | grep "\.log$"

Фильтрация с помощью grep и регулярных выражений

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

ls -1 | grep '^l'        # имена, начинающиеся с буквы l
ls -1 | grep -i 'readme' # нечувствительный к регистру поиск
ls -1 | grep -E '\.(jpg|png)$' # файлы с расширением jpg или png

Примечание: ls -1 (цифра один) выводит имена по одному на строку — удобно для последовательной фильтрации.

Сортировка по времени и по размеру

ls -lt    # сортировать по времени модификации, новые вверху
ls -ltr   # те же, но в обратном порядке (старые вверху)
ls -lS    # сортировать по размеру, большие вверху
ls -lSr   # сортировать по размеру, маленькие вверху

Также есть опции для выбора, какое время показывать: –time=atime|ctime|mtime (в некоторых реализациях coreutils).

Показ читаемого размера

ls -lh

-h переводит байты в удобные суффиксы: K, M, G. Это важно при быстром осмотре больших файлов.

Скрытые файлы

По умолчанию файлы, начинающиеся с точки (.) скрыты. Используйте -a или -A:

ls -a   # показывает . и .. и все скрытые
ls -A   # показывает скрытые, но без . и ..

Перенаправление вывода и сохранение в файл

ls -lah > ls-output.txt
cat ls-output.txt

Примечание: при перенаправлении вы теряете цветовую разметку и форматирование терминала.

Советы по работе с именами файлов с пробелами и спецсимволами

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

ls -1 -Q    # берет имена в кавычки
# Для безопасной передачи в xargs используйте find:
find . -maxdepth 1 -print0 | xargs -0 ls -ld

ls сам по себе не имеет опции для печати нуль-терминированного вывода; для сложных пайплайнов предпочтительнее find -print0.

Альтернативы и когда использовать другие утилиты

  • find — лучший выбор для поиска по маске, времени модификации, размеру и выполнению действий над найденными файлами.
  • tree — выводит визуальное древовидное представление каталога.
  • stat — показывает подробные атрибуты файла (точное время, права в числовом виде и т.д.).
  • du — суммарные размеры каталогов и файлов.

Примеры:

find /var -name "*.log" -type f
tree -a -L 2
stat myfile.txt
du -sh /home/alice

Практические сценарии и полезные комбинации

  1. Найти 10 самых больших файлов в каталоге:
ls -lS | head -n 10
# или более надёжно для вложенных структур:
find . -type f -exec du -h {} + | sort -hr | head -n 10
  1. Список изменённых за последние 7 дней:
find . -type f -mtime -7 -ls
  1. Показать только исполняемые файлы:
ls -l | grep '^-..x'   # грубая фильтрация по третьему символу триплета прав
# Лучше использовать find:
find . -type f -executable -ls

Ментальные модели и хитрости

  • ls — быстрый «снимок» каталога. Для поиска и операций лучше find.
  • Подумайте о формате вывода: для машинной обработки используйте утилиты, которые дают стабильный формат (stat, find -printf).
  • Алиасы: во многих дистрибутивах в ~/.bashrc или /etc/profile ls замещён на ls –color=auto или на «ls -la». Знайте свои алиасы: alias.

Роли: чек-листы

Системный администратор

  • Использовать ls -lah для быстрого аудита каталога.
  • При проверке логов применять ls -lt /var/log и tail -n.
  • Для массовых операций предпочитать find.

Разработчик

  • Использовать ls -R | grep для поиска файлов конфигурации в проекте.
  • Писать скрипты с учётом специальных символов в именах (использовать find -print0 + xargs -0).

Новичок

  • Начать с ls, ls -a, ls -l, ls -lh, ls -R.
  • Освоить навигацию: cd, pwd, ls ~, ls ..

Шпаргалка команд (cheat sheet)

КомандаЧто делает
lsПоказать имена в текущем каталоге
ls -aПоказать скрытые файлы
ls -lДлинный формат (права, владелец, размер, дата)
ls -lhДлинный формат с читаемыми размерами
ls -RРекурсивно
ls -SСортировка по размеру
ls -tСортировка по времени
ls -d */Показать только каталоги

Когда ls не подходит (контрпримеры)

  • Нужно искать по содержимому файлов — используйте grep или ripgrep.
  • Нужно выполнять действие над найденными файлами — используйте find -exec или xargs.
  • Нужно получить точные байтовые метрики без округления — используйте stat или du.
  • При обработке имён с новыми строками или специальными символами — избегайте парсинга вывода ls; используйте find -print0.

Безопасность и локаль

  • Цветная подсветка и символы зависят от окружения TERM и переменных LC_*/LANG.
  • Проверяйте алиасы: alias ls.
  • Не полагайтесь на порядок вывода ls для критичных скриптов — используйте явную сортировку.

Критерии приёмки

  • Вывод должен показывать ожидаемые файлы/каталоги в указанной директории.
  • Для длинного формата (-l) должны отображаться права, владелец, группа, размер и время.
  • Для реструктурированных отчётов использовать перенаправление в файл и проверять формат.

SOP: быстрый рабочий процесс для проверки каталогов

  1. Перейдите в каталог: cd /path/to/dir
  2. Посмотрите все файлы: ls -lah
  3. Отсортируйте большие файлы: ls -lS | head -n 20
  4. Сохраните вывод: ls -lah > /tmp/dir-audit-$(date +%F).txt
  5. При необходимости запустите дополнительные проверки через find.

Примеры реального использования

  1. Показать все .conf в /etc, включая скрытые, отсортированные по дате:
ls -1t /etc/*.conf /etc/.*.conf 2>/dev/null | head
  1. Сохранить рекурсивный список в файл для дальнейшего анализа:
ls -R /var/www > /tmp/www-tree.txt

Edge-case: имена файлов с управляющими символами

ls корректно выводит такие имена, но при парсинге вывода скрипт может сломаться. Для корректной передачи в скрипты пользуйтесь find -print0 и xargs -0.

Mermaid: быстрое дерево решений — какую утилиту выбрать

flowchart TD
  A[Нужен список файлов?] --> B{Требуется фильтрация по содержимому?}
  B -- Нет --> C[Используйте ls]
  B -- Да --> D{Нужна обработка имен с пробелами/новыми строками?}
  D -- Да --> E[Используйте find -print0 + xargs -0]
  D -- Нет --> F[Используйте find с -name / -mtime]
  C --> G[Можно добавить grep/sort/awk]

Часто задаваемые вопросы

Как показать скрытые файлы?

Используйте ls -a или ls -A.

Как получить читаемые размеры файлов?

ls -lh покажет размеры в удобной форме (K, M, G).

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

find . -type f -name “*.log” -exec rm {} + или find . -print0 | xargs -0 command.

FAQ (структурированные ответы представлены ниже в JSON-LD)

Резюме

  • ls — удобный инструмент для быстрого просмотра каталогов.
  • Для более сложных поисков и массовых операций выбирайте find, stat, du и другие утилиты.
  • Всегда учитывайте особенности имён файлов и локали. Для автоматизации используйте стабильные форматы вывода.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство