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