Обзор
Проверка скрытых конфигурационных файлов и прав доступа к файлам в среде Linux — это первый шаг в системном администрировании и разработке. В этой статье мы рассмотрим, как с помощью команды ls -al быстро и точно проверять скрытые файлы, а также познакомимся с необходимыми на практике опциями. Освойте права доступа к файлам и советы по сортировке с помощью практических упражнений в терминале.
1. Концепция файловой системы Linux, скрытых файлов (.) и опция -a
Команда mkdir -p ~/ls_practice && cd ~/ls_practice создает необходимый для практики каталог и переходит в него.
После создания каталога с помощью mkdir команда cd выполняется последовательно через оператор && для перехода.
В результате выполнения каталог успешно создается по указанному пути, а текущий рабочий каталог меняется.
⚙️ [Основные опции]
-p : При необходимости создает родительские каталоги и не выдает ошибку, если каталог уже существует.-m : Устанавливает права доступа напрямую при создании каталога.-v : Выводит на экран подробную информацию о процессе создания каталога.

Команда touch sample_file.txt создает новый обычный текстовый файл для практики.touch изначально предназначена для изменения временных меток файла, но если файл не существует, она создает новый пустой файл размером 0 байт.
В результате выполнения в текущем каталоге создается пустой файл sample_file.txt.
⚙️ [Основные опции]
-a : Изменяет только время доступа (access) к файлу.-m : Изменяет только время модификации (modification) файла.-c : Не создает новый файл, если указанный файл не существует.-r : Изменяет временную метку на такую же, как у указанного эталонного файла.

Команда touch .hidden_config создает скрытый файл, добавляя точку (.) в начало имени файла.
В файловой системе Linux файлы и каталоги, имена которых начинаются с точки (.), считаются скрытыми элементами системных настроек.
В результате выполнения создается новый скрытый конфигурационный файл .hidden_config, который обычно не виден стандартным способом.
⚙️ [Основные опции]
-a : Изменяет только время доступа (access) к файлу.-m : Изменяет только время модификации (modification) файла.-c : Не создает новый файл, если указанный файл не существует.-t : Устанавливает временную метку в указанном формате времени вместо текущего.

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

Команда ls -a выводит все элементы в каталоге, включая скрытые файлы и каталоги.
Передача опции -a базовой команде ls позволяет сразу увидеть скрытые файлы, начинающиеся с точки (.).
В результате выполнения в списке выводятся не только обычные файлы, но и файл .hidden_config, а также текущий каталог (.) и родительский каталог (..).
⚙️ [Основные опции]
-a : Выводит все элементы, включая скрытые файлы и каталоги, начинающиеся с точки (.).-A : Выводит скрытые файлы и каталоги, начинающиеся с точки (.), за исключением текущего каталога (.) и родительского каталога (..).-l : Выводит подробные атрибуты файла, такие как права доступа, владелец, размер, в виде списка.-F : Добавляет символ / после каталогов и * после исполняемых файлов для различения типов файлов.-i : Выводит уникальный номер inode для каждого файла и каталога.

2. Проверка подробной информации и прав доступа с помощью ls -l и ls -al
Команда echo 'Ubuntu Security' > sample_file.txt сохраняет указанную строку в файл.
Команда echo выводит введенный текст, а оператор перенаправления > перезаписывает и записывает вывод в указанный файл.
При выполнении этой команды будет создан новый файл sample_file.txt, содержащий строку Ubuntu Security.
После выполнения в терминале не отображается никаких сообщений, и запись файла завершается успешно.
⚙️ [Основные опции]
-n : Не выводит символ новой строки в конце выводимой строки.-e : Включает интерпретацию управляющих символов с обратным слэшем.-E : Отключает интерпретацию управляющих символов с обратным слэшем.

Команда echo 'Secret Key' > .hidden_config записывает конфигурационные данные в скрытый файл.
Текст Secret Key сохраняется в файл .hidden_config, имя которого начинается с точки (.).
В системах Linux файлы, начинающиеся с точки (.), обрабатываются как скрытые и исключаются из обычного списка.
В результате выполнения команды на экране не отображается никакой текст, и скрытый файл успешно создается.
⚙️ [Основные опции]
-n : Удаляет символ новой строки в конце вывода текста.-e : Включает интерпретацию управляющих символов.-E : Отключает функцию интерпретации управляющих символов.

Команда ls -l отображает список обычных файлов и каталогов в текущем каталоге вместе с подробной информацией.
Опция -l выводит подробные сведения, такие как права доступа к файлу, владелец, группа владельца, размер файла и время последнего изменения, в длинном формате.
Поскольку это обычный режим просмотра списка, скрытые файлы, начинающиеся с точки (.), не отображаются на экране.
Первая строка вывода total 64 указывает размер блоков каталога, занимаемых обычными элементами, отображаемыми в списке.
⚙️ [Основные опции]
-l : Выводит подробную информацию, такую как права доступа к файлу, владелец, размер файла, время изменения.-h : Отображает размер файла в удобных для чтения единицах (KB, MB, GB).-t : Сортирует файлы по времени последнего изменения.-r : Меняет порядок сортировки на противоположный.-S : Сортирует и выводит файлы по убыванию размера.

Команда ls -al выводит подробный список информации, включая все скрытые файлы и каталоги.
Сочетание опций -a и -l позволяет отображать даже скрытые файлы, начинающиеся с точки (.), вместе с информацией о правах доступа и размере.
В результате выполнения в начале отображаются только что созданный .hidden_config, а также стандартные скрытые элементы .dockerenv, . и ...
Первая строка вывода total 76 означает, что общий размер блоков увеличился по сравнению с выводом ls -l из-за добавления скрытых файлов.
⚙️ [Основные опции]
-a : Выводит все элементы, включая скрытые файлы и каталоги, начинающиеся с точки (.).-l : Отображает подробную информацию, такую как права доступа к файлу, владелец, размер, время изменения, в виде списка.-A : Выводит скрытые файлы и все элементы, кроме текущего каталога (.) и родительского каталога (..).-i : Выводит уникальный номер inode для каждого файла вместе со списком.-R : Рекурсивно выводит все содержимое подкаталогов.

3. Комбинация с опцией -h для отображения в удобных для чтения единицах (ls -alh)
Команда truncate -s 5M large_file.bin создает новый пустой файл указанного размера или изменяет размер существующего файла.
При выполнении этой команды создается обычный тестовый файл large_file.bin размером 5 МБ.
⚙️ [Основные опции]
-s : Указывает размер файла в байтах или в единицах K, M, G и т. д.-c : Не создает новый файл, если указанный файл не существует.-r : Устанавливает размер равным размеру другого существующего эталонного файла.

Команда truncate -s 10M .large_hidden_file.bin создает скрытый файл размером 10 МБ, имя которого начинается с точки (.).
В файловой системе Linux добавление точки (.) в начало имени файла делает данный элемент скрытым файлом.
⚙️ [Основные опции]
-s : Указывает размер файла в байтах или в единицах K, M, G и т. д.-c : Предотвращает автоматическое создание нового файла, если файл отсутствует.-r : Берет размер отдельного эталонного файла в качестве базового значения и применяет его.

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

Команда ls -alh отображает полный список, включая скрытые файлы, объединяя подробную информацию и удобные для чтения человеком единицы измерения размера.
В результате выполнения 5242880 байт автоматически преобразуются в 5.0M, а скрытый файл .large_hidden_file.bin размером 10 МБ появляется в списке с отметкой 10M.
⚙️ [Основные опции]
-a : Включает в список скрытые файлы и каталоги, начинающиеся с точки (.).-l : Выводит список с подробными атрибутами, такими как права доступа, учетная запись владельца, размер файла.-h : Преобразует размер файла в наглядные единицы измерения, такие как KB, MB, GB.-S : Сортирует элементы по порядку, начиная с самого большого размера файла.-R : Рекурсивно проверяет и выводит файлы внутри подкаталогов.

4. Комбинирование полезных на практике опций сортировки по времени (-t) и размеру (-S)
Команда touch -t 202601010000 .old_hidden_log создает или изменяет файл, непосредственно указывая время его модификации.
В этом примере создается пустой скрытый файл .old_hidden_log со временем 1 января 2026 года, 00:00, чтобы проверить результаты сортировки по временной метке.
⚙️ [Основные опции]
-t : Устанавливает время изменения и доступа к файлу в указанном формате даты и времени.

Команда ls -alt выводит подробный список всех элементов каталога, включая скрытые файлы, отсортированный по времени последнего изменения.
В результате выполнения файлы, которые были изменены или созданы последними, размещаются вверху списка.
⚙️ [Основные опции]
-a : Выводит все элементы, включая скрытые файлы и скрытые каталоги, начинающиеся с точки.-l : Отображает подробную информацию, такую как права доступа к файлу, владелец, размер, время изменения, в виде списка.-t : Сортирует файлы и каталоги по убыванию времени последнего изменения.

Команда ls -alS выводит подробную информацию обо всех элементах, включая скрытые файлы, отсортированную по убыванию размера файла.
Это полезно при управлении дисковым пространством для быстрого обнаружения больших файлов или каталогов.
⚙️ [Основные опции]
-a : Выводит все элементы, включая скрытые файлы и скрытые каталоги, начинающиеся с точки.-l : Отображает подробную информацию, такую как права доступа к файлу, владелец, размер, время изменения, в виде списка.-S : Сортирует список по убыванию размера файлов.

Команда ls -alrt выводит подробную информацию обо всех элементах, включая скрытые файлы, отсортированную по времени изменения в порядке от старых к новым.
Благодаря обратной сортировке по времени последние измененные файлы отображаются в самом низу экрана терминала, что удобно для быстрой проверки.
⚙️ [Основные опции]
-a : Выводит все элементы, включая скрытые файлы и скрытые каталоги, начинающиеся с точки.-l : Отображает подробную информацию, такую как права доступа к файлу, владелец, размер, время изменения, в виде списка.-r : Меняет порядок сортировки на обратный (по возрастанию).-t : Сортирует файлы и каталоги по времени последнего изменения.

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