← Назад к вопросам

Какие знаешь корневые каталоги в Linux?

2.0 Middle🔥 201 комментариев
#Операционные системы и Linux

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Корневые каталоги Linux (FHS)

В Linux корневой каталог (/) является вершиной иерархии файловой системы, содержащей все остальные каталоги и файлы. Стандартная структура определяется Filesystem Hierarchy Standard (FHS), которая обеспечивает единообразие в расположении файлов. Вот ключевые корневые каталоги и их назначение:

Основные системные каталоги

  1. /bin (Binary) — содержит основные исполняемые файлы, доступные всем пользователям, необходимые для работы системы в однопользовательском режиме (например, ls, cp, bash).
  2. /sbin (System Binary) — хранит исполняемые файлы для системного администрирования, требующие прав суперпользователя (например, iptables, reboot).
  3. /etc (Etcetera) — конфигурационные файлы системы и приложений (например, /etc/passwd, /etc/nginx/nginx.conf).
  4. /lib и /lib64 — библиотеки, необходимые для программ из /bin и /sbin (например, shared libraries .so файлы). В 64-битных системах /lib64 содержит 64-битные библиотеки.
  5. /usr (User System Resources) — вторичная иерархия для данных пользователя, содержит большинство пользовательских приложений и утилит. Включает подкаталоги:
    • /usr/bin — основные исполняемые файлы для пользователей.
    • /usr/sbin — системные утилиты для администрирования.
    • /usr/lib — библиотеки для программ из /usr/bin и /usr/sbin.
    • /usr/local — для программ, установленных локально администратором.
  6. /var (Variable) — файлы с изменяемыми данными: логи (/var/log), кэши (/var/cache), очереди (/var/spool).

Каталоги для данных и устройств

  1. /home — домашние каталоги пользователей, где хранятся персональные файлы и настройки.
  2. /root — домашний каталог суперпользователя (root).
  3. /dev (Devices) — файлы устройств, представляющие физические и виртуальные устройства (например, /dev/sda для диска, /dev/null).
  4. /proc (Process) — виртуальная файловая система, предоставляющая информацию о процессах и ядре в реальном времени (например, /proc/cpuinfo).
  5. /sys (System) — виртуальная файловая система для взаимодействия с ядром Linux и управления устройствами (часть sysfs).

Временные и монтируемые каталоги

  1. /tmp (Temporary) — временные файлы, которые могут удаляться при перезагрузке.
  2. /mnt (Mount) — временная точка монтирования для файловых систем (например, внешних дисков).
  3. /media — точки монтирования для съемных носителей (флешек, CD/DVD).
  4. /opt (Optional) — дополнительное программное обеспечение от сторонних производителей (например, коммерческие приложения).

Специальные каталоги

  1. /boot — файлы, необходимые для загрузки системы (образы ядра, initramfs, загрузчик GRUB).
  2. /run — временные файлы, созданные с момента последней загрузки (например, PID-файлы, сокеты). В современных дистрибутивах заменяет /var/run.
  3. /srv (Service) — данные, обслуживаемые системой (например, файлы веб-сервера или FTP).
  4. /lost+found — восстановленные файлы после проверки файловой системы (например, после сбоя).

Пример структуры в коде

Для иллюстрации, вот как можно просмотреть корневые каталоги в терминале:

ls -la /

Вывод покажет основные каталоги, такие как:

drwxr-xr-x   2 root root  4096 дек  1 12:00 bin
drwxr-xr-x   3 root root  4096 дек  1 12:00 etc
drwxr-xr-x  19 root root  4096 дек  1 12:00 home

Значение для разработчика на Go

Понимание FHS критично для:

  • Развертывания приложений: например, конфигурационные файлы Go-приложений часто размещают в /etc, а бинарники — в /usr/local/bin.
  • Работы с файлами: знание путей к логам (/var/log) или временным данным (/tmp) помогает в отладке.
  • Контейнеризации: в Docker-образах структура каталогов следует FHS для обеспечения переносимости.

В Linux также существуют символические ссылки: например, в некоторых дистрибутивах /bin может быть ссылкой на /usr/bin (что является частью тенденции к объединению каталогов). Эта стандартизация упрощает администрирование и разработку, обеспечивая предсказуемость среды выполнения.