Обзор
В этом практическом руководстве мы разберем основные способы использования команды ls — одной из самых базовых и часто используемых команд в окружении Linux. Мы последовательно рассмотрим ключевые опции, которые пригодятся в реальной работе: от простого просмотра списка файлов и скрытых объектов до анализа прав доступа, сортировки и расширенного отображения в виде дерева.
Базовый просмотр списка файлов и скрытых элементов (ls, ls -a)
Чтобы создать отдельную директорию для практики с командой ls и перейти в нее, выполните команду mkdir -p ~/ls_practice && cd ~/ls_practice.

Для создания обычных текстовых файлов и скрытого конфигурационного файла, которые будут использоваться в примерах, выполните touch file1.txt file2.txt .hidden_config.

Команда ls — это базовая команда для вывода списка файлов и директорий, расположенных в текущем каталоге.
При запуске без опций отображаются только обычные элементы, исключая скрытые файлы, имена которых начинаются с точки (.).
⚙️ [Основные опции]
-a : отображает все элементы, включая скрытые файлы и директории, начинающиеся с точки (.).-l : выводит подробную информацию в длинном формате: права доступа, владельца, размер файла, время изменения и т. д.-h : преобразует размер файлов в понятный для человека формат (K, M, G и т. д.; используется совместно с опцией -l).-t : сортирует файлы по времени последнего изменения.-S : сортирует список по размеру файлов в порядке убывания.-R : рекурсивно выводит содержимое всех поддиректорий.

Команда ls -a отображает все объекты в текущей директории, включая скрытые файлы, имя которых начинается с точки (.).
В результате выполнения отображаются текущая директория ., родительская директория .., а также ранее созданный скрытый файл .hidden_config.

Подробная информация о файлах и анализ прав доступа (ls -l, ls -lh)
Чтобы сравнить отображение размера, создадим большой тестовый файл размером 10 МБ с помощью команды fallocate -l 10M ~/ls_practice/sample_large.dat.

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

Команда ls -lh использует опцию -h (human-readable), которая преобразует размер файлов в удобные для чтения единицы, такие как KB, MB или GB.
Размер созданного ранее большого файла теперь наглядно отображается как 10M вместо длинного числа байтов.

Сортировка по времени и по размеру (ls -lt, ls -lS)
Для отработки сортировки по времени создадим файл old_file.txt с датой изменения двухдневной давности, выполнив команду touch -d '2 days ago' ~/ls_practice/old_file.txt.

Для сравнения создадим самый новый файл recent_file.txt с помощью команды touch ~/ls_practice/recent_file.txt.

Команда ls -lt сочетает длинный формат с опцией -t, сортируя файлы по времени последнего изменения в порядке убывания (от самых новых к старым).
Только что созданный файл recent_file.txt оказывается в самом верху списка, а файл old_file.txt, измененный два дня назад, отображается последним.

Команда ls -lS использует заглавную опцию -S для сортировки списка по размеру файлов в порядке убывания.
Файл sample_large.dat размером 10 МБ выводится первым, что позволяет быстро находить наиболее емкие файлы в директории.

Визуализация структуры директорий и фильтрация по шаблону (tree, ls *.txt)
Для изучения иерархической структуры каталогов создадим вложенные поддиректории и тестовый файл лога с помощью команды mkdir -p ~/ls_practice/subdir/inner && touch ~/ls_practice/subdir/inner/note.log.

Команда ls ~/ls_practice/*.txt использует символ подстановки (*) для фильтрации и вывода только тех файлов, которые имеют расширение .txt.
Это позволяет исключить большие файлы данных или поддиректории и точно увидеть только текстовые файлы.

Чтобы визуализировать структуру директорий в виде дерева, установите пакет tree, выполнив команду sudo apt-get update -qq && sudo apt-get install -y tree.

Команда tree ~/ls_practice отображает дерево подкаталогов и файлов указанной директории в виде наглядной диаграммы.
Это позволяет легко оценить иерархию и общее количество файлов и папок, включая вложенный путь subdir/inner/note.log.

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