Linux: Основные директории файловой системы
Файловая система Linux организована в виде древовидной структуры, где корневым элементом является каталог /. Все остальные каталоги и файлы находятся в этой иерархии. Важно понимать назначение каждой директории, чтобы грамотно работать с системой и настраивать её. Ниже приведен список наиболее важных каталогов с пояснениями и примерами их использования.
/ — Корневой каталог
Корневой каталог является начальной точкой файловой системы. Отсюда начинаются все остальные каталоги и файлы. Содержимое каталога / должно быть минимальным и строго структурированным.
/bin — Основные утилиты
Этот каталог содержит базовые исполняемые файлы, которые необходимы для работы системы. Эти программы нужны как для обычного пользователя, так и для работы в однопользовательском (сервисном) режиме. Примеры программ в /bin — это ls, cp, mv, cat и другие.
/boot — Загрузочные файлы
Каталог содержит файлы, необходимые для загрузки операционной системы, такие как загрузчик GRUB и ядро системы (например, vmlinuz). Если этот каталог повредится, система не сможет загрузиться.
/dev — Устройства
Каталог /dev содержит файлы, представляющие устройства системы. В Linux все устройства представлены как файлы, будь то жёсткие диски, USB-устройства или виртуальные устройства, такие как /dev/null.
/etc — Системные конфигурационные файлы
Здесь находятся все важные конфигурационные файлы, необходимые для настройки системы и приложений. Примером могут служить файлы настроек сети, такие как /etc/network/interfaces, и настройки сервисов, например, конфигурация веб-сервера в /etc/nginx/nginx.conf.
/home — Домашние каталоги пользователей
В этом каталоге находятся личные файлы и настройки пользователей системы. Каждый пользователь имеет свой подкаталог, например, /home/username. Сюда сохраняются документы, файлы, а также скрытые файлы конфигурации приложений.
/lib — Библиотеки
Содержит библиотеки, необходимые для работы базовых программ, находящихся в каталогах /bin и /sbin. Это динамические библиотеки, аналогичные DLL в Windows. Каталоги /lib64 и /lib32 могут содержать версии библиотек для различных архитектур.
/media — Точки монтирования сменных носителей
Этот каталог используется для автоматического монтирования внешних устройств, таких как CD/DVD-диски и USB-флешки. Подкаталоги внутри /media создаются автоматически при подключении устройства.
/mnt — Временные точки монтирования
Эта директория используется для ручного монтирования файловых систем. Например, если администратор хочет смонтировать внешний диск или сетевую файловую систему вручную, обычно он монтирует её в /mnt.
/opt — Дополнительное программное обеспечение
Здесь располагаются сторонние приложения, которые не входят в стандартные пакеты системы. Программы, установленные в этот каталог, часто представляют собой коммерческие или проприетарные решения, такие как Google Chrome или Steam.
/proc — Виртуальная файловая система процессов
Этот каталог является виртуальной файловой системой, отображающей информацию о процессах и состоянии системы в реальном времени. Например, файл /proc/cpuinfo содержит информацию о процессоре системы, а /proc/meminfo — о памяти.
/root — Домашний каталог суперпользователя
Это домашний каталог пользователя root (суперпользователя), который имеет полный доступ ко всей системе. В отличие от других домашних каталогов, он находится непосредственно в корне файловой системы для быстрой доступности.
/run — Файлы текущих процессов и системы
Каталог содержит информацию о текущем состоянии системы и процессов, которые были запущены после последней загрузки. Здесь можно найти временные файлы, используемые демонами и сервисами, например, файлы с PID (идентификаторы процессов).
/sbin — Системные утилиты
Содержит исполняемые файлы для системного администрирования. В отличие от /bin, программы здесь предназначены для суперпользователя (root) или пользователей с расширенными правами. Примеры — это ifconfig, fdisk, reboot.
/srv — Данные сервисов
В этом каталоге могут храниться данные, которые используются запущенными службами или серверами. Например, если у вас есть веб-сервер, его данные и файлы могут быть размещены в /srv/www.
/sys — Файлы системной информации
Каталог /sys похож на /proc, но содержит больше информации об устройствах и драйверах, подключенных к системе. Это интерфейс к подсистеме устройств Linux (Linux device model). Например, через /sys/class/net/ можно узнать информацию о сетевых интерфейсах.
/tmp — Временные файлы
Этот каталог используется для хранения временных файлов, которые создаются и удаляются приложениями и системой. Обычно файлы в /tmp удаляются при перезагрузке системы.
/usr — Пользовательские программы и данные
Это каталог для хранения программ, которые не являются критически важными для работы системы, но используются пользователями. Здесь можно найти такие подкаталоги, как /usr/bin (дополнительные программы), /usr/lib (библиотеки), /usr/local (локально установленные программы).
/var — Изменяемые данные
В этой директории хранятся файлы, которые меняются в процессе работы системы: журналы (лог-файлы), кэш, данные о работе приложений и очереди задач. Например, логи системы хранятся в /var/log, а временные файлы почтовых сообщений — в /var/mail.
Пример структуры файловой системы с каталогами для веб-сервера
Для лучшего понимания структуры файловой системы Linux, особенно в контексте веб-сервера, вот пример её древовидной организации с добавлением каталогов, используемых для размещения сайтов:
/ ├── bin ├── boot ├── dev ├── etc │ ├── nginx │ │ ├── nginx.conf # Основной файл конфигурации Nginx │ │ ├── sites-available # Конфигурации доступных сайтов │ │ └── sites-enabled # Активные конфигурации сайтов ├── home │ └── user1 ├── lib ├── media ├── mnt ├── opt ├── proc ├── root ├── run ├── sbin ├── srv │ └── www │ ├── site1 # Каталог сайта 1 │ └── site2 # Каталог сайта 2 ├── sys ├── tmp ├── usr │ ├── bin │ ├── lib │ └── local └── var ├── log │ └── nginx # Логи веб-сервера Nginx ├── www │ ├── html # Корневой каталог для веб-сайтов по умолчанию │ ├── site1 # Каталог веб-сайта 1 │ └── site2 # Каталог веб-сайта 2 └── cache
Комментарии