Каталоги Linux
Структура каталогов Linux отличается от той, которую привык видеть пользователь Windows. В Linux на самом верхнем уровне файловой иерархии находятся не физические и логические диски, а один единственный корневой каталог, обозначаемый косой чертой – / (слэшем).
Каждый последующий вложенный каталог отделяется от родительского также слэшем. Путь заканчивается либо каталогом, либо файлом. Например, /boot/grab или /home/pl/test.txt. Второй путь указывает, что в корневом каталоге есть папка home, в ней находится каталог pl, в котором имеется файл test.txt.
Файловая структура (перечень системных директорий) Linux стандартизирована. Стандартом является FHS, который соблюдается большинством Unix-подобных операционных систем. FHS – аббревиатура от Filesystem Hierarchy Standard – стандарт иерархии файловой системы.
Обычно дистрибутивы Linux следуют стандарту FHS, однако могут иметь незначительные отличия друг от друга. В общей сложности структура каталогов разных дистрибутивов схожа. Ниже будет дано описание назначения большинства системных каталогов, расположенных на верхнем уровне вложенности, т. е. непосредственно в корневом.
Если в файловом менеджере вашего дистрибутива нет закладки на корневой каталог (она может называться, например, Файловая структура или Компьютер), нажмите Ctrl + L. Адресная строка превратиться в текстовое поле, в котором надо ввести косую черту /.
На скриншоте показана файловая структура верхнего уровня Ubuntu 22.04.
В /home находятся каталоги пользователей. Поскольку Linux многопользовательская операционная система, то количество вложенных сюда директорий соответствует количеству зарегистрированных в системе пользователей. Если в системе только один пользователь, то там будет только один подкаталог.
Например, в системе зарегистрированы пользователи pety и vasy. Тогда в /home будет два подкаталога: pety и vasy. В директории /home/pety будут все папки и файлы Пети, а в /home/vasy – все папки и файлы Васи. По умолчанию у Пети нет прав на посещение файловой структуры Васи. Как и наоборот.
Кроме обычных пользователей, в Linux есть системный администратор (root). Он обладает безграничными правами, поэтому под этим пользователем обычно не работают, а только выполняют команды, которые требуют наличия прав администратора. Однако для личных файлов root'а предусмотрена директория /root. Войти в нее может только сам администратор.
Если на компьютере есть логические и физические жесткие диски, которые не были задействованы под систему, а также подключаются флэшки, внешние диски, смартфоны, то в момент монтирования для каждого из них создается каталог, так называемая точка монтирования. Через этот каталог происходит доступ к файловой структуре устройства, а размещается он либо в /media, либо в /mnt.
В каталог /media монтируются сменные носители и автоматически подключаемые во время загрузки физические устройства. Каталог /mnt предназначен для временно монтируемых файловых систем. Например, вы сами с помощью команды подключаете тот или иной диск.
С другой стороны, работая в графическом режиме GNU/Linux, заходить в эти каталоги незачем, чтобы найти папку-точку монтирования устройства. В современных версиях дистрибутивов при подключении устройства в графическом интерфейсе появляется соответствующий значок-ссылка.
Каталог /boot содержит файл ядра Linux, загрузчик операционной системы и ряд конфигурационных файлов. В большинстве дистрибутивов загрузчиком является GRUB. При установке дистрибутива под /boot можно выделить отдельный раздел диска.
В каталоге /etc содержатся конфигурационные файлы системных программ.
Файлы, представляющие различные устройства, находятся в директории /dev. Причем здесь находятся файлы как реальных и виртуальных устройств, так и не существующих, но которые могли бы быть.
В папке /bin содержатся различные системные утилиты-программы, многие из которых выполняются через командную оболочку Bash. Некоторые запускаются при старте системы. Программы в /bin доступны всем пользователям.
В /sbin находятся системные программы, предназначенные для настройки и администрирования операционной системы. Эти программы может запускать только администратор системы.
Директория /lib содержит библиотеки, совместно используемые программами из /bin и /sbin. Также здесь находятся драйверы устройств (модули, подключаемые к ядру Linux).
Структура /usr во многом повторяет структуру корневого каталога. Сюда устанавливаются пользовательские (user) программы дистрибутива. Так в /usr/bin содержится большинство программ, в /usr/include – заголовочные файлы, в /usr/lib – библиотеки для программ, размещенных в /usr.
Директория /opt предназначена для программ, которые устанавливает сам пользователь, то есть для приложений, не входящих в состав конкретного дистрибутива.
В /tmp хранятся временные файлы, которые могут появляться в процессе выполнения разных программ. При выключении компьютера файлы отсюда обычно автоматически удаляются.
Каталог /var содержит файлы с изменяемыми данными. Здесь сохраняются конфигурационные параметры ряда программ, также временные файлы, кэши, логи и др.
Каталоги /sys, /proc, /run можно назвать системными. Для понимания их назначения требуются знания принципов работы операционной системы.