Объяснение структуры каталогов Linux

Если вы работаете с Windows, структура файловой системы Linux может показаться особенно чуждой. Диск C: \ и буквы диска исчезли, их заменили каталоги / и загадочно звучащие каталоги, большинство из которых имеют трехбуквенные имена.

Стандарт иерархии файловой системы (FHS) определяет структуру файловых систем в Linux и других UNIX-подобных операционных системах. Однако файловые системы Linux также содержат некоторые каталоги, которые еще не определены стандартом.

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

Все в вашей системе Linux находится в каталоге /, известном как корневой каталог. Вы можете думать о каталоге / как о каталоге C: \ в Windows, но это не совсем так, поскольку в Linux нет букв дисков. В то время как другой раздел будет расположен в D: \ в Windows, этот другой раздел появится в другой папке в / в Linux.

/ bin - Основные пользовательские двоичные файлы

Каталог / bin содержит основные пользовательские двоичные файлы (программы), которые должны присутствовать при монтировании системы в однопользовательском режиме. Такие приложения, как Firefox, хранятся в / usr / bin, а важные системные программы и утилиты, такие как оболочка bash, находятся в / bin. Каталог / usr может храниться в другом разделе - размещение этих файлов в каталоге / bin гарантирует, что в системе будут эти важные утилиты, даже если другие файловые системы не смонтированы. Каталог / sbin аналогичен - он содержит важные двоичные файлы системного администрирования.

/ boot - статические загрузочные файлы

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

/ cdrom - Историческая точка монтирования для CD-ROM

Каталог / cdrom не является частью стандарта FHS, но вы все равно найдете его в Ubuntu и других операционных системах. Это временное место для CD-ROM, вставленных в систему. Однако стандартное расположение временных носителей находится в каталоге / media.

/ dev - Файлы устройства

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

Этот каталог также содержит псевдоустройства, которые представляют собой виртуальные устройства, которые фактически не соответствуют оборудованию. Например, / dev / random производит случайные числа. / dev / null - это специальное устройство, которое не производит вывода и автоматически отбрасывает весь ввод - когда вы перенаправляете вывод команды на / dev / null, вы отбрасываете его.

/ etc - Файлы конфигурации

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

/ home - Домашние папки

Каталог / home содержит домашнюю папку для каждого пользователя. Например, если ваше имя пользователя - bob, у вас есть домашняя папка, расположенная в / home / bob. Эта домашняя папка содержит файлы данных пользователя и пользовательские файлы конфигурации. Каждый пользователь имеет доступ только для записи в свою домашнюю папку и должен получить повышенные права (стать пользователем root) для изменения других файлов в системе.

/ lib - Основные общие библиотеки

Каталог / lib содержит библиотеки, необходимые для основных двоичных файлов в папке / bin и / sbin. Библиотеки, необходимые для двоичных файлов в папке / usr / bin, находятся в / usr / lib.

/ lost + found - восстановленные файлы

В каждой файловой системе Linux есть каталог «потерян + найден». В случае сбоя файловой системы проверка файловой системы будет выполнена при следующей загрузке. Все найденные поврежденные файлы будут помещены в каталог lost + found, поэтому вы можете попытаться восстановить как можно больше данных.

/ media - Съемный носитель

Каталог / media содержит подкаталоги, в которых монтируются съемные носители, вставленные в компьютер. Например, когда вы вставляете компакт-диск в свою систему Linux, внутри каталога / media автоматически создается каталог. Вы можете получить доступ к содержимому компакт-диска внутри этого каталога.

/ mnt - временные точки монтирования

Исторически сложилось так, что каталог / mnt - это то место, где системные администраторы монтируют временные файловые системы во время их использования. Например, если вы монтируете раздел Windows для выполнения некоторых операций восстановления файлов, вы можете смонтировать его в / mnt / windows. Однако вы можете смонтировать другие файловые системы в любом месте системы.

/ opt - Дополнительные пакеты

Каталог / opt содержит подкаталоги для дополнительных пакетов программного обеспечения. Он обычно используется проприетарным программным обеспечением, которое не подчиняется стандартной иерархии файловой системы - например, проприетарная программа может выгружать свои файлы в / opt / application при ее установке.

/ proc - файлы ядра и процессов

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

/ root - корневой домашний каталог

Каталог / root - это домашний каталог пользователя root. Вместо того, чтобы находиться в / home / root, он находится в / root. Он отличается от /, который является корневым каталогом системы.

/ run - Файлы состояния приложения

Каталог / run является довольно новым и предоставляет приложениям стандартное место для хранения необходимых им временных файлов, таких как сокеты и идентификаторы процессов. Эти файлы нельзя хранить в / tmp, потому что файлы в / tmp могут быть удалены.

/ sbin - Двоичные файлы системного администрирования

Каталог / sbin похож на каталог / bin. Он содержит важные двоичные файлы, которые обычно предназначены для запуска пользователем root для системного администрирования.

/ selinux - виртуальная файловая система SELinux

Если ваш дистрибутив Linux использует SELinux для обеспечения безопасности (например, Fedora и Red Hat), каталог / selinux содержит специальные файлы, используемые SELinux. Это похоже на / proc. Ubuntu не использует SELinux, поэтому наличие этой папки в Ubuntu кажется ошибкой.

/ srv - Сервисные данные

Каталог / srv содержит «данные об услугах, предоставляемых системой». Если бы вы использовали HTTP-сервер Apache для обслуживания веб-сайта, вы, вероятно, сохранили бы файлы своего веб-сайта в каталоге внутри каталога / srv.

/ tmp - Временные файлы

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

/ usr - Пользовательские двоичные файлы и данные только для чтения

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

Каталог / usr / local - это место, куда по умолчанию устанавливаются локально скомпилированные приложения - это не позволяет им испортить остальную часть системы.

/ var - файлы переменных данных

Каталог / var является записываемым аналогом каталога / usr, который при нормальной работе должен быть доступен только для чтения. Файлы журнала и все остальное, что обычно записывается в / usr при нормальной работе, записывается в каталог / var. Например, вы найдете файлы журналов в / var / log.

Для получения более подробной технической информации об иерархии файловой системы Linux обратитесь к документации Filesystem Hierarchy Standard.