Структура каталогов в операционной системе Linux

Пользователи, которые переходят с других операционных систем в Linux могут столкнуться с тем, что структура самих каталогов отличается от привычной. В отличие от той же Windows, в Linux программы устанавливаются самопроизвольно в те каталоги, в которых они должны находиться. Пользователю не предоставляется выбор в какой каталог установить программу. Куда устанавливаются программы и как они запускаются, это отдельная тема.

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

Корневой каталог /

Содержащий всю файловую иерархию вашей операционной системы Linux:

каталогов в операционной системе Linux 1

То же самое можно увидеть открыв менеджер файлов и перейдя в корневой каталог:

каталогов в операционной системе Linux 2

Каталог /bin

В Каталоге /bin (от binary) содержатся основные исполняемые файлы и утилиты необходимые для работы в операционной системе. Например, та же утилита ls содержится как раз в этом каталоге, в том числе и остальные утилиты, такие как cat, cp, cd и так далее:

каталогов в операционной системе Linux 3

Каталог /boot

В каталоге /boot содержится информация необходимая для загрузки операционной системы Linux. В этом каталоге как правило содержится загрузчик Grub (в некоторых дистрибутивах иной загрузчик). В том числе в boot так же расположено ядро операционной системы, initrd, system.map…

каталогов в операционной системе Linux 4

Каталог /dev

В каталоге dev (от devices) содержатся устройства, а как мы помним, в Linux все файлы, в том числе и устройства. В данном каталоге находятся устройства которые представлены в виде файлов, в том числе гарнитура, клавиатура, мышка USB носители и так далее.

каталогов в операционной системе Linux 5

Каталог /etc

В каталоге etc (от etcetera) содержатся системные конфигурационные файлы. В этом каталоге расположены как настройки самой операционной системы, так и служб, ну и конечно же конфигурации установленных программ. Как вариант, тот же Apache2, который необходим для работы веб сервера так же будет хранить свои конфигурационные файлы в этом каталоге.

каталогов в операционной системе Linux 6

Каталог /home

Каталог home содержит каталоги пользователей, которые в свою очередь содержат персональные настройки и данные пользователя. По сути, данный каталог у каждого пользователя будет свой со своими настройками и названием, как правило, название домашнего каталога такое же как и у пользователя.

каталогов в операционной системе Linux 7

Каталог /lib

В каталоге lib (от library) находятся основные библиотеки бинарных файлов необходимых для работы с программ из каталогов /bin и /sbin

каталогов в операционной системе Linux 8

Каталог /media

В каталог media монтируются все внешние носители, такие как USB, CD и DVD диски и прочее.

каталогов в операционной системе Linux 9

Каталог /mnt

В каталог mnt (от mount) монтируются временные и дополнительные файловые системы. То есть, предположим, необходимо посмотреть содержимое какого-то диска, мы можем спокойно его смонтировать в данный каталог.

каталогов в операционной системе Linux 10

Каталог /opt

В каталог opt (от optional applications) устанавливаются дополнительное программное обеспечение. Такие как проприетарные драйвера.

Каталог /proc

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

каталогов в операционной системе Linux 11

Каталог /root

Домашний каталог root пользователя. Как мы знаем, root является администратором операционной системы, что интересно, данный каталог вынесен в отдельную директорию. Как уже говорилось, для каждого пользователя создается своя директория в каталоге /home, но данное правило не относится к root.

каталогов в операционной системе Linux 12

Каталог /run

Информация о системе с момента ее загрузки, в том числе данные, необходимые для работы демонов (unix-сокеты, pid-данные, в том числе и программы которые вы запускаете сами). То есть, в этом каталоге находится информация, что сейчас на данный момент запущено.

каталогов в операционной системе Linux 13

Каталог /sbin

Основные системные программы для администрирования и настройки системы, содержит например такие системные файлы которые необходимы для загрузки и восстановления системы. Похож на каталог bin, но в отличие от него содержит системные исполняемые файлы (iptables, ifconfig и так далее)

каталогов в операционной системе Linux 14

Каталог /srv

Каталог srv (от server) содержит файлы сервисов в вашей системе. Как правило, используется для таких сервисов как ftp, apache2 и так далее.

каталогов в операционной системе Linux 15

Каталог /sys

Каталог sys (system) содержит информацию об устройствах, драйверов, а так же некоторую информацию о свойствах ядра. Информация из этого каталога получается из ядра операционной системы, например информация о разделе подкачки (swap).

каталогов в операционной системе Linux 16

Каталог /tmp

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

каталогов в операционной системе Linux 17

Каталог /usr

Каталог usr (user applications) содержит вторичную иерархию для данных пользователя. Содержит большинство пользовательских приложений и утилит используемых в многопользовательском режиме. В нем лежат например изображения, исходники программ, исполняемые файлы и так далее.

каталогов в операционной системе Linux 18

Каталог /var

Каталог var (variable) содержит изменяемые файлы, такие как файлы регистрации, разного рода кеши, баз данных, логи.

каталогов в операционной системе Linux 19

Заключение

Как уже говорилось, каталоги могут немного отличаться в зависимости от дистрибутива, да и содержание каждого каталога так же будет отличаться. В Linux система каталогов довольно строго определена под конкретные задачи. Как видите, даже простая программа при установке может содержаться в разных каталогах, в одном будут конфигурационные файлы, в другом какие-то исполнительные, в третьем логи. На первый взгляд может показаться что такая система запутана, но на самом деле вполне логична.

Самые интересные каталоги на мой взгляд это пожалуй proc, sys, ну и конечно usr для внесения изменений в систему, но, будьте крайне аккуратны, все эти каталоги имеют системные файлы повредив которые вы нарушите работу самой системы.

А на этом сегодня все, надеюсь, данная статья будет вам полезна.
Хотелось бы выразить огромную благодарность тем, кто принимает активное участие в жизни и развитии журнала, огромное спасибо вам за это.
Журнал Cyber-X

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *