Как стать автором
Поиск
Написать публикацию
Обновить
556.45
OTUS
Развиваем технологии, обучая их создателей

Структура файловой иерархии Linux

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.3K
Автор оригинала: geeksforgeeks

Структура файловой иерархии Linux, также известная как Filesystem Hierarchy Standard (FHS), определяет организацию каталогов и их содержимое в операционных системах, подобных Unix. За поддержание стандарта отвечает организация Linux Foundation.

  • Согласно FHS, все файлы и каталоги располагаются внутри корневого каталога /, даже если физически или виртуально они находятся на разных устройствах.

  • Некоторые из этих каталогов присутствуют в системе только при наличии определённых подсистем, например X Window System.

  • Большинство из этих каталогов встречаются во всех UNIX-подобных системах и используются примерно одинаково, однако описания, приведённые здесь, актуальны именно для FHS и не считаются авторитетными для платформ, отличных от Linux.

linux-directory
linux-directory

1. / (корень):

На вершине любой файловой системы Linux находится корневой каталог, обозначаемый косой чертой /. Это отправная точка, и ни один другой каталог не находится выше по иерархии. Если представить файловую систему графически, все остальные каталоги будут ответвляться от этого корня.

  • Каждый файл и каталог в системе начинается с корневого каталога.

  • Только пользователь с root правами (суперпользователь) имеет право записывать в этот каталог.

  • /root — это домашний каталог суперпользователя, и он не является синонимом /.

Только суперпользователь имеет права на изменение содержимого этого каталога. Обычные пользователи не могут вносить здесь изменения. Например, если вы попытаетесь создать файл в / не обладая root-правами, вы столкнетесь с ошибкой доступа.

root-linux-directory
root-linux-directory

2. /bin и /sbin:

Каталоги /bin и /sbin исторически содержали базовые команды и системные утилиты, необходимые при загрузке и восстановлении системы. Однако в большинстве современных Linux-дистрибутивов (например, Ubuntu, Debian, Fedora, Arch) они стали символическими ссылками на каталоги /usr/bin и /usr/sbin. Это часть стандарта usr merge, цель которого — упростить иерархию. Теперь все исполняемые файлы хранятся в одном месте — /usr/bin и /usr/sbin, а /bin и /sbin оставлены для совместимости.

bin-linux-directory
bin-linux-directory

3. /boot:

Этот каталог содержит все файлы, необходимые для загрузки системы. Здесь размещаются конфигурации загрузчика GRUB и важные файлы ядра, которые загружаются при старте системы.

  • Файлы ядра (initrd, vmlinux, grub) находятся в каталоге /boot.

  • Примеры: vmlinuz-5.15.0-88-generic, initrd.img-6.8.0-rc4 Каталог по-прежнему содержит ядро Linux и конфигурации загрузчика (например, GRUB), однако в системах с UEFI часть настроек может храниться в /boot/efi.

boot-linux-directory
boot-linux-directory

4. /dev:

Файлы устройств в Linux находятся в каталоге /dev. Это специальные файлы, которые выступают в роли интерфейса между аппаратным обеспечением и программным обеспечением.

Файлы устройств бывают двух типов: блочные устройства (например, жёсткие диски) и символьные устройства (например, микрофоны и динамики). Пример: /dev/sda1 — раздел жёсткого диска.

  • Сюда также входят терминальные устройства, USB-устройства и любые другие подключённые к системе устройства.

  • Примеры: /dev/tty1, /dev/usbmon0

dev-linux-directory
dev-linux-directory

5. /etc:

Распространённая шутливая расшифровка — «Editable Text Configuration», но на самом деле /etc — это просто «et cetera» («и прочее»). В каталоге хранятся системные конфигурационные файлы, в том числе настройки сети, пользователей, служб и загрузки. Например, здесь указываются данные о пользователях, такие как UID и локальные адреса.

  • Здесь также находятся сценарии запуска и завершения работы, используемые для старта и остановки отдельных программ.

  • Примеры: /etc/resolv.conf, /etc/logrotate.conf

etc-linux-directory
etc-linux-directory

6. /home:

Каждый не-root пользователь имеет персональный каталог внутри /home. Например, если ваше имя пользователя — anshu, то ваш домашний каталог будет /home/anshu.

Каждый пользователь может создавать, удалять и изменять файлы только в своём собственном домашнем каталоге и не имеет доступа к каталогам других пользователей.

  • Домашние каталоги всех пользователей предназначены для хранения их личных файлов, настроек и данных.

  • Примеры: /home/kishlay, /home/kv

home-linux-directory 
home-linux-directory 
home-linux-directory
home-linux-directory

7. /lib:

Приложениям для работы требуются разделяемые библиотеки, которые хранятся в каталоге /lib. В их числе — динамические библиотеки, необходимые во время выполнения программ.

  • Например, здесь могут находиться базовые системные библиотеки, используемые при запуске системы. Библиотеки сторонних приложений чаще располагаются в /usr/lib.

  • Названия библиотек обычно начинаются с ld* или lib*.so.*.

Примеры: ld-2.11.1.so, libncurses.so.5.7

lib-linux-directory
lib-linux-directory

8. /media:

Каталог /media используется для автоматического монтирования съёмных устройств, таких как USB-флешки, SD-карты и внешние диски.

Современные дистрибутивы Linux монтируют такие устройства автоматически в подкаталоги по шаблону: /media/<имя_пользователя>/<имя_устройства> — например, /media/alex/USB_DISK.

Ранее использовались общие каталоги вроде /media/cdrom или /media/floppy, но они устарели и почти не применяются в актуальных системах.

media-linux-directory
media-linux-directory

9. /mnt:

Каталог /mnt зарезервирован для ручного монтирования файловых систем администраторами. Он обычно пуст и используется в административных целях, например, для тестовой или временной работы с внешними устройствами.

mnt-linux-directory
mnt-linux-directory

10. /opt:

Стороннее программное обеспечение и пакеты, не входящие в стандартную поставку системы, размещаются в каталоге /opt. Здесь хранятся как исполняемые файлы, так и связанные с ними данные и конфигурации.

  • Содержит дополнительные приложения от сторонних поставщиков.

  • Дополнительные приложения должны устанавливаться в каталог /opt/ или его подкаталоги.

opt-linux-directory
opt-linux-directory

11. /srv:

Содержит специфичные для данного сервера данные, предоставляемые через различные сервисы — например, данные и скрипты для веб-серверов, информация, выдаваемая через FTP, и репозитории для систем контроля версий.

  • srv расшифровывается как «service» (сервис).

  • Содержит данные, относящиеся к конкретным сервисам, работающим на сервере.

  • Пример: /srv/cvs — данные, связанные с системой CVS.

srv-linux-directory
srv-linux-directory

13. /tmp:

Во время выполнения программы могут создавать временные файлы, которые сохраняются в каталоге /tmp. Эти файлы удаляются автоматически по завершении программы или при перезагрузке системы.

  • Каталог содержит временные файлы, создаваемые как системой, так и пользователями.

  • Файлы в этом каталоге удаляются при перезапуске системы.

tmp-linux-directory
tmp-linux-directory

14. /usr:

Вторичная иерархия, предназначенная для хранения доступных только для чтения данных, используемых пользователями. Содержит основную массу пользовательских утилит и приложений.

  • Содержит бинарные файлы, библиотеки, документацию и исходный код для программ второго уровня.

  • /usr/bin — содержит все основные пользовательские команды.

  • /usr/sbin — содержит бинарные файлы для системных администраторов. Если нужной утилиты нет в /sbin, она может быть здесь. Примеры: atd, cron, sshd, useradd, userdel

  • /usr/lib — содержит библиотеки, используемые программами из /usr/bin и /usr/sbin

  • /usr/local — каталог для пользовательских программ, установленных из исходников. Например, если вы собираете Apache из исходников, он будет установлен в /usr/local/apache2

  • /usr/src — содержит исходные тексты ядра Linux, заголовочные файлы и документацию

usr_bin-linux-directory
usr_bin-linux-directory
usr_sbin-linux-directory
usr_sbin-linux-directory
usr_lib-linux-dirctory
usr_lib-linux-dirctory
usr_local-linux-directory
usr_local-linux-directory
usr_src-linux-directory
usr_src-linux-directory

15. /proc:

/proc — это виртуальная файловая система, предоставляющая интерфейс к внутренним структурам ядра.

Помимо информации о процессах (/proc/<PID>), здесь содержатся данные о памяти (/proc/meminfo), процессоре (/proc/cpuinfo), загрузке (/proc/uptime), параметрах ядра (/proc/sys/) и многое другое.

Этот каталог используется как пользователями, так и системными утилитами для мониторинга и настройки системы.

proc-linux-directory
proc-linux-directory
proc-linux-directory
proc-linux-directory

16. /run:

/run — временный каталог, появившийся с переходом на systemd. Используется для хранения PID-файлов, сокетов и другой информации, необходимой во время работы системы.

Это файловая система tmpfs, и её содержимое теряется при перезагрузке. Старый путь /var/run теперь обычно является симлинком на /run.

Заключение

Файловая система Linux (FHS) используется для хранения всего — от программ и настроек до личных файлов пользователя. Она начинается с корневого каталога / и организует структуру в виде специальных папок, каждая из которых выполняет свою задачу.

Ключевые каталоги включают:

/home — для личных файлов пользователя,
/etc — для системных настроек,
/usr/bin — для основных пользовательских команд (исторически — /bin),
/tmp — для временных файлов.

Такая организация делает систему Linux аккуратной, безопасной и единообразной на всех компьютерах.


Вы можете сколько угодно изучать структуру файловой системы, но без практики в реальных инструментах это останется теорией. Администрировать Linux — значит уметь автоматизировать, упрощать и разворачивать окружения в несколько команд. Если хочется уверенно владеть инструментами вроде Bash и Docker — приходите на открытые уроки:

Получить навыки администрирования Linux, которые выделят вас среди начинающих администраторов, можно на курсе "Administrator Linux. Basic".

Теги:
Хабы:
+25
Комментарии11

Публикации

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS