Файловая система Linux построена иерархически. Каждая директория имеет строгое назначение. Знание структуры полезно при ручной настройке, установке софта, резервном копировании и администрировании.
Содержание
/ — корень
- Назначение: основа всей файловой системы
- Особенности: монтируется первой, аналог C:\ в Windows
/bin
- Содержит: основные утилиты, доступные в single-user режиме (например,
ls
,cp
,mv
) - Важно: используется системой для базовой работы
/boot
- Содержит: загрузочные файлы — ядра, initrd, GRUB
- Рекомендация: регулярно удалять старые ядра
/dev
- Назначение: устройства как файлы (например,
/dev/sda
,/dev/null
) - Формируется: динамически через udev
/etc
- Содержит: конфигурационные файлы всей системы
- Примеры:
/etc/fstab
,/etc/hostname
,/etc/network/interfaces
/home
- Назначение: домашние директории пользователей
- Практика: выносить на отдельный раздел
/lib и /lib64
- Содержит: библиотеки для
/bin
и/sbin
- Формат:
.so
(аналог.dll
)
/media и /mnt
- /media: автоматическое монтирование устройств
- /mnt: временное или ручное монтирование
/opt
- Используется: для стороннего ПО вне репозиториев
- Структура:
/opt/имя_программы
/proc
- Тип: виртуальная файловая система
- Содержит: информацию о процессах и ядре
- Примеры:
/proc/cpuinfo
,/proc/meminfo
/root
- Назначение: домашняя директория суперпользователя
/run
- Содержит: runtime-данные, PID-файлы, сокеты
- Особенности: очищается при перезагрузке
/sbin и /usr/sbin
- Назначение: системные утилиты для администрирования
- Требует: root-доступ
/srv
- Содержит: данные, обслуживаемые сервисами (например, веб-сервером)
/sys
- Тип: виртуальная ФС
- Назначение: отображение информации об устройствах и драйверах
- Пример:
/sys/class/net/
/tmp
- Содержит: временные файлы
- Очистка: автоматически при перезагрузке
/usr
- Содержит: основное пользовательское ПО и библиотеки
- Структура:
/usr/bin
— бинарные файлы/usr/lib
— библиотеки/usr/share
— справка, локализация, иконки
/var
- Содержит: изменяемые данные: логи, кэш, базы данных
- Примеры:
/var/log
,/var/cache
,/var/lib
Практические команды
Очистка логов
sudo journalctl --vacuum-time=7d
Удаляет системные логи старше 7 дней.
Ротация логов вручную
sudo logrotate -f /etc/logrotate.conf
Принудительный запуск logrotate.
Удаление содержимого /tmp
sudo rm -rf /tmp/*
Рекомендуется выполнять после перезагрузки.
Удаление /etc или /boot может сделать систему непригодной к загрузке. Для экспериментов использовать виртуальную машину.
Полезно знать
Какая системная папка показалась самой неожиданной? Расскажи в комментариях.