Введение
Давайте не будем вдаваться в элементарные подробности терминологии - что такое файловая система и тому подобное. Скажу лишь, что статья подготовлена для новичков и специалистов, желающих обновить свои знания. Я постарался написать коротко и по сути. Всего частей будет 11.
? Файлы, навигация и поиск
? Пользователи и группы
? Права доступа
⚙️ Процессы и система
? Сеть
? Логи и мониторинг
?️ Hardening и безопасность
? Пакеты и обновления
? Скриптинг и автоматизация
? Криптография и сертификаты
? Контейнеры (Linux-уровень)
Структура файловой системы
/ ├── etc # конфигурации системы и приложений ├── var # переменные данные: логи, кэш, очереди ├── proc # состояние ядра и процессов ├── sys # устройства и драйверы ├── tmp # временные файлы ├── home # домашние директории пользователей ├── root # домашняя директория суперпользователя ├── dev # файлы устройств ├── usr # программы и библиотеки ├── bin # базовые утилиты (symlink на /usr/bin) ├── sbin # команды администрирования (symlink на /usr/sbin) ├── opt # сторонний софт ├── run # runtime-данные процессов ├── mnt # точки ручного монтирования └── boot # файлы загрузчика и ядро
Корневой каталог / - вершина всей иерархии. Всё остальное монтируется внутрь него. Рассмотрим ключевые каталоги подробнее.
/etc
От et cetera или Editable Text Configuration - здесь хранятся конфигурационные файлы всей системы. Настройки служб, сетевых параметров, пользователей - всё сюда. Важные файлы: /etc/passwd (пользователи), /etc/fstab (монтирование файловых систем), /etc/hosts (локальный DNS), /etc/ssh/sshd_config (настройки SSH-сервера).
/var
От variable - данные, которые постоянно меняются в процессе работы: логи (/var/log), почтовые очереди (/var/mail), спулеры (/var/spool), данные веб-серверов (/var/www). Именно сюда смотреть в первую очередь при диагностике проблем.
/proc
Виртуальная файловая система - файлы здесь не хранятся на диске, а генерируются ядром в реальном времени. Предоставляет информацию о запущенных процессах и состоянии ядра. Примеры: /proc/cpuinfo - информация о процессоре, /proc/meminfo - память, /proc/1/ - данные процесса с PID 1.
/sys
Ещё одна виртуальная ФС - интерфейс к устройствам и драйверам ядра. Позволяет читать и изменять параметры ядра и оборудования на лету. Широко используется при работе с сетевыми интерфейсами, дисками и другим железом.
/tmp
Временные файлы. Любой пользователь может создавать файлы здесь. Содержимое обычно очищается при перезагрузке или по таймеру (через systemd-tmpfiles). Не храните здесь ничего важного.
/home
Домашние каталоги обычных пользователей. Каждый пользователь получает свой подкаталог - /home/username. Здесь хранятся личные файлы, конфиги программ (скрытые папки вида .config, .ssh), документы.
/root
Домашний каталог суперпользователя. Намеренно вынесен отдельно от /home - для безопасности и доступности даже при проблемах с монтированием /home.
/dev
Файлы устройств - интерфейсы к аппаратному обеспечению. /dev/sda - первый жёсткий диск, /dev/sda1 - его первый раздел, /dev/null - «чёрная дыра» для ненужного вывода, /dev/zero - источник нулевых байт, /dev/random и /dev/urandom - генераторы случайных данных.
Навигация по файловой системе
ls - просмотр содержимого каталога
ls (от list) выводит список файлов и подкаталогов. Без аргументов показывает текущий каталог.
ls # Содержимое текущего каталога ls /etc # Содержимое /etc ls -l # Подробный список: права, владелец, размер, дата ls -a # Все файлы, включая скрытые (начинающиеся с точки) ls -lh # Подробный список с читаемым размером (KB, MB, GB) ls -lt # Сортировка по времени изменения (новые сверху) ls -lS # Сортировка по размеру (большие сверху) ls -R # Рекурсивный вывод всех вложенных каталогов ls -ld /etc # Информация о самом каталоге, а не его содержимом
Флаги можно комбинировать. ls -lah - пожалуй, самая частая комбинация в работе: подробный список, скрытые файлы, читаемые размеры.
cd - смена текущего каталога
cd (от change directory) - основа навигации.
cd /etc # Перейти в /etc (абсолютный путь) cd logs # Перейти в подкаталог logs (относительный путь) cd .. # На уровень вверх cd ../.. # На два уровня вверх cd ~ # В домашний каталог текущего пользователя cd # То же самое, что cd ~ cd - # В предыдущий каталог (удобно для переключения между двумя) cd /var/log # Абсолютный путь от корня
cd -- очень удобная команда когда нужно быстро переключаться между двумя каталогами.
pwd - текущий рабочий каталог
pwd (от print working directory) выводит абсолютный путь к тому месту, где вы сейчас находитесь.
pwd # Вывод: /home/username/projects
pwd -P # Показать реальный путь без symlink'ов pwd -L # Показать логический путь (по умолчанию)
find - поиск файлов и каталогов
find - мощный инструмент для поиска по имени, типу, размеру, правам, времени изменения и многому другому. Ищет рекурсивно в указанной директории.
# Поиск по имени find . -name "*.log" # Все .log файлы в текущем каталоге find /etc -name "hosts" # Файл hosts в /etc find / -name "*.conf" 2>/dev/null # Все .conf файлы на всей системе, без ошибок # Поиск по типу find /var -type f # Только файлы (не каталоги) find /etc -type d # Только каталоги find /dev -type l # Только символические ссылки # Поиск по размеру find / -size +100M # Файлы больше 100 MB find /tmp -size -1k # Файлы меньше 1 KB # Поиск по времени find /var/log -mtime -1 # Изменялись за последние 24 часа find /tmp -atime +7 # Не открывались более 7 дней # Поиск по правам и владельцу find / -perm 777 # Файлы с правами 777 find /home -user username # Файлы конкретного пользователя # Поиск + действие find /tmp -name "*.tmp" -delete # Найти и удалить find /var/log -name "*.log" -exec ls -lh {} \; # Найти и выполнить команду
locate - быстрый поиск по базе данных
locate ищет не на диске в реальном времени, а по заранее собранной базе данных - поэтому работает значительно быстрее find. Минус: база не знает о файлах, созданных после последнего обновления.
locate passwd # Найти все пути, содержащие "passwd" locate -i readme # Поиск без учёта регистра locate -c "*.conf" # Подсчитать количество совпадений locate -l 10 "*.log" # Вывести максимум 10 результатов sudo updatedb # Обновить базу данных вручную
В Ubuntu/Debian locate устанавливается отдельно. Начиная с Ubuntu 22.04 рекомендуется plocate вместо устаревшего mlocate — он быстрее за счёт более эффективного формата индекса: sudo apt install plocate. Команда locate при этом остаётся той же. База обновляется автоматически через cron/systemd-timer, обычно раз в сутки.
tree - дерево каталогов
tree визуализирует структуру каталогов в виде дерева - удобно для быстрого обзора проекта или системной директории.
tree # Дерево текущего каталога tree /etc # Дерево /etc tree -L 2 # Ограничить глубину 2 уровнями tree -L 3 /var # /var на 3 уровня вглубь tree -a # Включая скрытые файлы tree -d # Только каталоги, без файлов tree -f # Показывать полные пути tree -h # Показывать размер файлов tree -I "node_modules" # Исключить каталог из вывода
Установка:
sudo apt install tree
Работа с файлами и каталогами
cp - копирование
cp (от copy) копирует файлы и каталоги.
cp file.txt copy.txt # Копировать файл cp file.txt /tmp/ # Скопировать в другой каталог cp file1.txt file2.txt /tmp/ # Скопировать несколько файлов cp -r dir1 dir2 # Копировать каталог рекурсивно cp -r dir1/ /backup/ # Копировать содержимое dir1 в /backup cp -p file.txt copy.txt # Сохранить права, владельца и временные метки cp -u source.txt dest.txt # Копировать только если source новее dest cp -v file.txt /tmp/ # Подробный вывод (verbose) cp -i file.txt existing.txt # Спросить перед перезаписью
mv - перемещение и переименование
mv (от move) - и перемещение, и переименование делается одной командой.
mv old.txt new.txt # Переименовать файл mv file.txt /tmp/ # Переместить файл в /tmp mv file.txt /tmp/newname.txt # Переместить и переименовать одновременно mv dir1 dir2 # Переименовать каталог mv *.log /var/archive/ # Переместить все .log файлы mv -i file.txt existing.txt # Спросить перед перезаписью mv -u source.txt dest.txt # Переместить только если source новее mv -v file.txt /tmp/ # Verbose-режим
rm - удаление
rm (от remove) удаляет файлы и каталоги.
Удалённые через
rmфайлы не попадают в корзину. Восстановление возможно, но сложно и не гарантировано.rm -rf- особо опасная команда, требует максимального внимания.
rm file.txt # Удалить файл rm file1.txt file2.txt # Удалить несколько файлов rm *.tmp # Удалить все .tmp файлы rm -i file.txt # Запросить подтверждение rm -r directory/ # Удалить каталог рекурсивно rm -rf directory/ # Принудительное рекурсивное удаление без запроса rm -v file.txt # Verbose-режим - показывать что удаляется
mkdir - создание каталогов
mkdir (от make directory) создаёт новые каталоги.
mkdir new_dir # Создать каталог mkdir dir1 dir2 dir3 # Создать несколько каталогов mkdir -p parent/child/grandchild # Создать всю цепочку, если не существует mkdir -m 755 secure_dir # Создать с указанными правами mkdir -v new_dir # Verbose-режим
mkdir -p незаменим в скриптах: без него команда упадёт с ошибкой при повторном запуске, если каталог уже существует. Флаг решает обе задачи сразу — «если каталог уже есть, всё в порядке; иначе создай его и все промежуточные».
touch - создание файлов и обновление временных меток
touch создаёт пустой файл, если он не существует, или обновляет временные метки у существующего.
touch file.txt # Создать пустой файл touch file1.txt file2.txt # Создать несколько файлов touch -m file.txt # Обновить только время модификации touch -a file.txt # Обновить только время доступа touch -t 202501011200 file.txt # Установить конкретное время (YYYYMMDDhhmm)
ln - создание ссылок
ln (от link) создаёт жёсткие или символические ссылки.
Жёсткая ссылка (hard link) указывает на тот же inode, что и оригинал. Удаление исходного файла не уничтожает данные - они доступны через ссылку. Не работает между разными файловыми системами и не может ссылаться на каталоги.
Символическая ссылка (symlink) - указатель на путь к файлу или каталогу. Аналог ярлыка в Windows. Работает между ФС и с каталогами. При удалении оригинала ссылка становится битой.
ln file.txt hardlink.txt # Жёсткая ссылка ln -s file.txt symlink.txt # Символическая ссылка на файл ln -s /etc/nginx/nginx.conf ~/nginx.conf # Symlink с абсолютным путём ln -s /var/www /srv/web # Символическая ссылка на каталог ln -sf new_target.txt existing_link.txt # Перезаписать существующий symlink ls -la symlink.txt # Видно что это ссылка и куда ведёт
stat - подробная информация о файле
stat выводит полную информацию о файле: размер, тип, inode, права доступа, владелец, три временные метки.
stat file.txt # Вывод: # File: file.txt # Size: 1024 Blocks: 8 IO Block: 4096 regular file # Device: 8,1 Inode: 131074 Links: 1 # Access: (0644/-rw-r--r--) Uid: (1000/username) Gid: (1000/username) # Access: 2026-02-25 10:00:00 # Modify: 2026-02-24 15:30:00 # Change: 2026-02-24 15:30:00 stat /etc # Информация о каталоге stat -f file.txt # Информация о файловой системе, на которой лежит файл stat --format="%n %s %U" # Форматированный вывод: имя, размер, владелец
Три временные метки:
Access - последнее чтение файла
Modify - последнее изменение содержимого
Change - последнее изменение метаданных (права, владелец)
file - определение типа файла
file анализирует содержимое файла и определяет его тип - независимо от расширения.
file document.pdf # Выведет: PDF document, version 1.6 file /bin/bash # Выведет: ELF 64-bit LSB executable... file archive.tar.gz # Выведет: gzip compressed data... file image.png # Выведет: PNG image data, 1920 x 1080... file script.sh # Выведет: Bourne-Again shell script... file unknown_file # Полезно когда расширение неизвестно или отсутствует file * # Определить тип всех файлов в текущем каталоге file -i document.pdf # MIME-тип вместо текстового описания
Просмотр содержимого файлов
cat - вывод содержимого файла
cat (от concatenate) выводит содержимое одного или нескольких файлов. Лучше всего подходит для коротких файлов.
cat file.txt # Вывести содержимое файла cat file1.txt file2.txt # Объединить и вывести два файла cat -n file.txt # С номерами строк cat -A file.txt # Показать спецсимволы ($ в конце строк, ^I для табуляции) cat -s file.txt # Сжать несколько пустых строк в одну cat /dev/null > file.txt # Очистить файл (обнулить) cat > newfile.txt # Создать файл и писать в него вручную (Ctrl+D для завершения)
less - постраничный просмотр
less - интерактивный просмотрщик для больших файлов. Не загружает весь файл в память, поэтому отлично работает с гигантскими логами.
less /var/log/syslog less +F /var/log/syslog # Открыть в режиме отслеживания (как tail -f) less -N file.txt # С номерами строк less -S file.txt # Без переноса длинных строк
Управление внутри less:
Клавиша |
Действие |
|---|---|
|
Следующая страница |
|
Предыдущая страница |
|
Начало файла |
|
Конец файла |
|
Поиск вперёд |
|
Поиск назад |
|
Следующее совпадение |
|
Предыдущее совпадение |
|
Выход |
more - упрощённый постраничный просмотр
more - предшественник less, умеет только прокручивать вперёд. Использовать less предпочтительнее, но more гарантированно есть на любой POSIX-совместимой системе.
more /etc/passwd more -5 file.txt # Показывать по 5 строк
head - первые строки файла
head по умолчанию выводит первые 10 строк файла.
head file.txt # Первые 10 строк head -n 20 file.txt # Первые 20 строк head -n -5 file.txt # Все строки, кроме последних 5 head -c 100 file.txt # Первые 100 байт head -q file1.txt file2.txt # Несколько файлов без заголовков
tail - последние строки файла
tail по умолчанию выводит последние 10 строк.
tail file.txt # Последние 10 строк tail -n 20 file.txt # Последние 20 строк tail -n +5 file.txt # Все строки, начиная с 5-й tail -c 200 file.txt # Последние 200 байт
tail -f - отслеживание файла в реальном времени
Флаг -f (от follow) держит файл открытым и выводит новые строки по мере их появления. Незаменим для мониторинга логов.
tail -f /var/log/syslog # Следить за системным логом tail -f /var/log/nginx/access.log # Следить за логом nginx tail -fn 50 /var/log/auth.log # Последние 50 строк + слежение tail -f file1.log file2.log # Следить за несколькими файлами
Ctrl+Cдля выхода из режима слежения. Если хотите следить за файлом даже после его ротации (пересоздания) - используйтеtail -F(заглавная F).
Поиск внутри файлов
grep - поиск текста по шаблону
grep (от global regular expression print) ищет строки по шаблону в файлах или потоке данных. Одна из самых используемых команд в Linux.
grep "error" /var/log/syslog # Строки содержащие "error" grep -i "warning" file.txt # Без учёта регистра grep -n "root" /etc/passwd # С номерами строк grep -c "error" /var/log/syslog # Подсчитать количество совпадений grep -v "debug" app.log # Инвертировать: строки БЕЗ "debug" grep -l "TODO" *.py # Только имена файлов с совпадениями grep -w "root" /etc/passwd # Только целые слова (не "rootdir") grep -A 3 "error" file.log # 3 строки после совпадения (After) grep -B 2 "error" file.log # 2 строки до совпадения (Before) grep -C 2 "error" file.log # По 2 строки до и после (Context)
grep -r - рекурсивный поиск
grep -r "function_name" . # Во всех файлах текущего каталога grep -r "TODO" /home/user/project # В конкретном проекте grep -rl "api_key" . # Только имена файлов рекурсивно grep -r --include="*.py" "import" . # Только в .py файлах grep -r --exclude="*.log" "error" . # Исключить .log файлы grep -r --exclude-dir=".git" "fix" . # Исключить каталог
grep -E - расширенные регулярные выражения
-E (или egrep) включает поддержку расширенного синтаксиса регулярных выражений.
grep -E "(error|fail|critical)" /var/log/syslog # ИЛИ grep -E "^root" /etc/passwd # Строки, начинающиеся с "root" grep -E "bash$" /etc/passwd # Строки, заканчивающиеся на "bash" grep -E "[0-9]{1,3}\.[0-9]{1,3}" file.txt # IP-адреса (упрощённо) grep -E "^$" file.txt # Пустые строки grep -E "https?://" file.txt # http или https ссылки
awk - обработка и извлечение полей
awk - язык для построчной обработки текста. Особенно силён при работе с табличными данными, логами и файлами с разделителями.
Базовая модель: awk 'условие { действие }' файл. По умолчанию разделитель - пробел/tab, поля: $1, $2, ..., $NF (последнее поле), $0 - вся строка.
# /etc/passwd: user:x:uid:gid:info:home:shell awk -F: '{print $1}' /etc/passwd # Имена всех пользователей awk -F: '{print $1, $3}' /etc/passwd # Имя и UID awk -F: '$3 >= 1000 {print $1}' /etc/passwd # Только обычные пользователи (UID ≥ 1000) awk -F: '{print $1": "$7}' /etc/passwd # Форматированный вывод # Работа с пробельным разделителем awk '{print $1}' access.log # Первое поле (напр. IP в логе nginx) awk 'NR==5' file.txt # Вывести только 5-ю строку awk 'NR>=5 && NR<=10' file.txt # Строки с 5 по 10 # Встроенные переменные awk '{print NR": "$0}' file.txt # Добавить номера строк awk 'END{print NR}' file.txt # Подсчитать количество строк awk '{sum += $1} END {print "Сумма:", sum}' numbers.txt # Сложить числа из первого столбца # BEGIN и END блоки awk 'BEGIN{print "=== Пользователи ==="} -F: {print $1} END{print "=== Конец ==="}' /etc/passwd
sed - потоковый редактор
sed (от stream editor) обрабатывает текст построчно - заменяет, удаляет, вставляет, фильтрует. По умолчанию не изменяет исходный файл, а выводит результат в stdout.
# Замена sed 's/old/new/' file.txt # Заменить первое вхождение в каждой строке sed 's/old/new/g' file.txt # Заменить все вхождения (global) sed 's/old/new/gi' file.txt # Без учёта регистра sed 's/root/admin/g' /etc/passwd # Пример с реальным файлом # Редактирование файла "на месте" sed -i 's/old/new/g' file.txt # Изменить файл (осторожно!) sed -i.bak 's/old/new/g' file.txt # Изменить файл, сохранив backup .bak # Удаление строк sed '/^#/d' config.txt # Удалить все комментарии (строки с #) sed '/^$/d' file.txt # Удалить пустые строки sed '5d' file.txt # Удалить 5-ю строку sed '2,4d' file.txt # Удалить строки 2-4 # Вывод конкретных строк sed -n '5p' file.txt # Вывести только 5-ю строку sed -n '5,10p' file.txt # Строки 5-10 sed -n '/error/p' file.txt # Строки содержащие "error" # Добавление строк sed '3a\Новая строка после 3-й' file.txt # Добавить после строки 3 sed '1i\Заголовок' file.txt # Добавить перед строкой 1
В следующей части - пользователи и группы: создание, управление, /etc/passwd, /etc/shadow, sudo и всё что с этим связано. а пока держите Linux Cheatsheet — Файловая система
Навигация
Команда |
Описание |
|---|---|
|
Показать текущий каталог |
|
Перейти в каталог |
|
На уровень вверх |
|
В домашний каталог |
|
В предыдущий каталог |
|
Содержимое текущего каталога |
|
Подробный список (права, владелец, размер) |
|
Включая скрытые файлы |
|
Подробно + скрытые + читаемый размер |
|
Сортировка по времени изменения |
|
Сортировка по размеру |
|
Рекурсивный вывод |
|
Дерево каталогов |
|
Дерево на 2 уровня вглубь |
|
Только каталоги |
|
Включая скрытые |
Поиск файлов
Команда |
Описание |
|---|---|
|
Поиск по имени |
|
Только файлы |
|
Только каталоги |
|
Только символические ссылки |
|
Файлы больше 100 MB |
|
Не изменялись более 7 дней |
|
Изменялись за последний час |
|
Файлы с правами 777 |
|
Файлы конкретного пользователя |
|
Найти и удалить |
|
Быстрый поиск по базе данных |
|
Поиск без учёта регистра |
|
Обновить базу данных locate |
Работа с файлами и каталогами
Команда |
Описание |
|---|---|
|
Создать пустой файл |
|
Создать каталог |
|
Создать вложенные каталоги |
|
Копировать файл |
|
Копировать каталог рекурсивно |
|
Копировать с сохранением метаданных |
|
Переименовать файл |
|
Переместить файл |
|
Удалить файл |
|
Удалить каталог рекурсивно |
|
Принудительное удаление без подтверждения |
|
Создать жёсткую ссылку |
|
Создать символическую ссылку |
|
Подробная информация о файле |
|
Определить тип файла |
Просмотр содержимого
Команда |
Описание |
|---|---|
|
Вывести содержимое файла |
|
С номерами строк |
|
Постраничный просмотр (интерактивный) |
|
С номерами строк |
|
Постраничный просмотр (упрощённый) |
|
Первые 10 строк |
|
Первые 20 строк |
|
Последние 10 строк |
|
Последние 20 строк |
|
Слежение за файлом в реальном времени |
|
Слежение с учётом ротации файла |
Поиск внутри файлов
Команда |
Описание |
|---|---|
|
Поиск строк по шаблону |
|
Без учёта регистра |
|
С номерами строк |
|
Подсчитать совпадения |
|
Инвертировать (строки БЕЗ шаблона) |
|
Только имена файлов с совпадениями |
|
Только целые слова |
|
3 строки после совпадения |
|
2 строки до совпадения |
|
По 2 строки до и после |
|
Рекурсивный поиск |
|
Рекурсивно, только имена файлов |
|
Расширенные регулярные выражения |
|
Строки начинающиеся с "root" |
|
Строки заканчивающиеся на "bash" |
|
Вывести первый столбец |
|
Разделитель двоеточие |
|
Вывести только 5-ю строку |
|
Подсчитать строки |
|
Заменить все вхождения |
|
Заменить в самом файле |
|
Заменить с созданием backup |
|
Удалить пустые строки |
|
Удалить строки с комментариями |
|
Вывести строки 5-10 |
Базовые команды терминала
Команда |
Описание |
|---|---|
|
Очистить терминал |
|
История команд |
|
Поиск по истории |
|
Повторить последнюю команду |
|
Выполнить команду №5 из истории |
|
Прервать текущую команду |
|
Приостановить процесс |
|
Очистить терминал (как clear) |
|
Поиск по истории команд |
|
Перейти в начало строки |
|
Перейти в конец строки |
|
Удалить строку до курсора |
|
Автодополнение |
|
Документация по команде |
|
Краткая справка |
|
Путь к исполняемому файлу |
|
Вывести текст |
|
Выйти из терминала / сессии |
Статья доступна на Хабе opensophy: https://hub.opensophy.com/docs/linux-filesystem/
Статьи, блоги и документации в первую очередь выходят и обновляются на Хабе с указанием автора и соавторов.
Комментарии (25)

maisvendoo
25.02.2026 15:29/tmp чистится автоматически после перезагрузки ровно потому, что в большинстве дистрибутивов монтируется в озу, по-умолчанию. Это полезно знать

max9
25.02.2026 15:29не совсем так. в системд есть юнит чистящий по таймеру. неприятная вещь на самом деле

Overphase
25.02.2026 15:29Стоит уточнить про
mkdir -p
Это не только создание вложенных каталогов.
Без этого флагаmkdirвернет ошибку, если требуемый каталог уже существует или не существует промежуточных каталогов. Аmkdir -pполезен не только для создания вложенных каталогов, но и просто для создания каталога с игнорированием ошибки существующего каталога.
«Если каталог уже есть, всё в порядке, иначе создай его и все промежуточные»

domix32
25.02.2026 15:29То есть ни про шифрование, ни про разницу ext32 vs btrs vs xfs vs ramfs вы решили не рассказывать. Про виды разделов тоже. Статья имеет такое же отношение к файловым системам как "Война и мир" к книгопечатанию.
но
moreгарантированно есть на любой Unix-системе.отдельно стоит заметить вот это. Linux это не Unix, но оба следуют стандарту POSIX. Для чего эта ремарка про Unix?

opensophy Автор
25.02.2026 15:29Спасибо за замечание. Про ext4/btrfs/xfs, шифрование и виды разделов – это сознательно за рамками данной серии, она ориентирована на работу в терминале, а не на глубокое погружение в устройство файловых систем(Вообщем это уже исправили поскольку замечание такое же было. Название у статьи сделали точнее). Если тема вызовет интерес — рассмотрю в отдельном материале. По поводу more и Unix — Поправлю. Спасибо большое что делаете статью лучше!

fortidet
25.02.2026 15:29Зашёл почитать про файловые системы Linux, почему нельзя (и как можно) сделать undelete, а тут совсем не то. Заголовок бы поменять на "Утилиты для работы с файлами, filetools" или что-то в этом роде.

opensophy Автор
25.02.2026 15:29Спасибо за замечание. Статья будет переименована в «Учим Linux: Файлы, навигация и поиск».

harriedgemusic
25.02.2026 15:29Для редактирования конфигов с низким порогом вхождения может подойти micro.
Ctrl+C, Ctrl+V, X и прочие стандартные привычные буквы.
Плюс подсветка кода и все такое.

altman
25.02.2026 15:29Надо же, про Editable Text Configuration слышу впервые, все время удивлялся, почему так, потому что etc это общепринятое et cetera. Понятно, что уже не исправить, но прямо просится замена etc на cfg или conf. А var и usr это вообще одна большая помойка, в зависимости от дистрибутивов и сборок там можно найти всё, что угодно, начиная от контейнеров docker, html nginx и например медиафайлов asterisk. Данные контейнеров docker совсем не вписываются в variable, а /usr допустим ок, но продолжение в виде /usr/lib, что вроде подразумевает какие-то бинарники меня путает. В целом, эту иерархию скорее всего уже не исправить, также как не исправить русский и английский язык, полные противоречий и исключений, остается только запоминать или гуглить. Ну, хорошо что хотя бы с остальными каталогами более-менее все логично и ясно-понятно

opensophy Автор
25.02.2026 15:29Общепринятой(хотя даже официальной) расшифровкой является et cetera, но про бэкронимы тоже стоит знать чтобы не столкнуться с недопониманиями(как пример видел вопрос в одном форуме про линукс и там первоначально не поняли о чём речь поскольку назвали etc как Editable Text Configuration(не буквально так но суть понятна), и чаще замечал именно этот бэкроним в обсуждении)

voidstrx
25.02.2026 15:29Ещё для навигации можно добавить pushd и popd
если скрипт редачили на винде часто выручает sed -i 's/\r$//' script.sh
economist75
Классика вечна, знать надо. Но удобнее:
sudo apt install far2l
Сейчас это ещё и полноценный терминал, буфер обмена, и почти что ни возьми в нем - мощнее, даже файловая возня: поиск файлов + врем панели + сортировка + пометка по маске = любая задача с файлами. Тут вам и цвет, и поддержка всех кодировок, и нормальный редактор. А если вспомнить NetRock и работу с архивами - то и подавно.
AlexanderS
Это не классика, а база. Классика - это mc )
id_Alex
vi жеж классика ))!
AlexanderS
Для новичка это вообще ловушка, выходить из которой придётся путём жёсткой перезагрузки или хардовым отключением питания компа. Зато после этого можно узнать про nano)
id_Alex
Я согласен что mc и nano удобнее в юзабилити, но по дефолту их во многих сборках нет, а vi есть в каждой наверное...и да vi появился в конце 70х годов прошлого века, а mc и nano в 90х.
economist75
Немного реализма без пруфов: у 90% пользователей терминалов и консолей (админы и девопсы тоже тут) - основная рабочая ось - Windows. А значит не mc, не vi и тем более не нано. А поставят они себе что угодно. Хотелось бы посмотреть на живого, кто использовал touch по собственной воле.
YuSV
Я). Как-то зашла сразу как узнал про нее в мире Linux... Хотя я еще застал Unix в ЦОД)) И шлюзы на DOS.
DGG
Если чисто текстовые конфиги немного поправить, можно ещё:
sudo snap install msedit
werter_l
mcedit
Зы. Snap тянуть ради одного пакета - такое себе.
DGG
Не, я именно про реинкарнацию edit.com от microsoft
Но его и без Snap поставить можно - просто скопировав исполняемый файл (майки в своём духе).
Впрочем местами оно и нормальным образом в репозитории уже попало.
Tony-Sol
ИМХО, вообще лучше snap не пользоваться когда есть flatpak