Какие знаешь корневые каталоги в Linux?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Корневые каталоги Linux (FHS)
В Linux корневой каталог (/) является вершиной иерархии файловой системы, содержащей все остальные каталоги и файлы. Стандартная структура определяется Filesystem Hierarchy Standard (FHS), которая обеспечивает единообразие в расположении файлов. Вот ключевые корневые каталоги и их назначение:
Основные системные каталоги
/bin(Binary) — содержит основные исполняемые файлы, доступные всем пользователям, необходимые для работы системы в однопользовательском режиме (например,ls,cp,bash)./sbin(System Binary) — хранит исполняемые файлы для системного администрирования, требующие прав суперпользователя (например,iptables,reboot)./etc(Etcetera) — конфигурационные файлы системы и приложений (например,/etc/passwd,/etc/nginx/nginx.conf)./libи/lib64— библиотеки, необходимые для программ из/binи/sbin(например, shared libraries.soфайлы). В 64-битных системах/lib64содержит 64-битные библиотеки./usr(User System Resources) — вторичная иерархия для данных пользователя, содержит большинство пользовательских приложений и утилит. Включает подкаталоги:/usr/bin— основные исполняемые файлы для пользователей./usr/sbin— системные утилиты для администрирования./usr/lib— библиотеки для программ из/usr/binи/usr/sbin./usr/local— для программ, установленных локально администратором.
/var(Variable) — файлы с изменяемыми данными: логи (/var/log), кэши (/var/cache), очереди (/var/spool).
Каталоги для данных и устройств
/home— домашние каталоги пользователей, где хранятся персональные файлы и настройки./root— домашний каталог суперпользователя (root)./dev(Devices) — файлы устройств, представляющие физические и виртуальные устройства (например,/dev/sdaдля диска,/dev/null)./proc(Process) — виртуальная файловая система, предоставляющая информацию о процессах и ядре в реальном времени (например,/proc/cpuinfo)./sys(System) — виртуальная файловая система для взаимодействия с ядром Linux и управления устройствами (часть sysfs).
Временные и монтируемые каталоги
/tmp(Temporary) — временные файлы, которые могут удаляться при перезагрузке./mnt(Mount) — временная точка монтирования для файловых систем (например, внешних дисков)./media— точки монтирования для съемных носителей (флешек, CD/DVD)./opt(Optional) — дополнительное программное обеспечение от сторонних производителей (например, коммерческие приложения).
Специальные каталоги
/boot— файлы, необходимые для загрузки системы (образы ядра, initramfs, загрузчик GRUB)./run— временные файлы, созданные с момента последней загрузки (например, PID-файлы, сокеты). В современных дистрибутивах заменяет/var/run./srv(Service) — данные, обслуживаемые системой (например, файлы веб-сервера или FTP)./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 (что является частью тенденции к объединению каталогов). Эта стандартизация упрощает администрирование и разработку, обеспечивая предсказуемость среды выполнения.