Архитектура файловой системы linux

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

img

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

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

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

Типы содержимого

Это основные типы контента, хранящегося в файловой системе Linux.

  • Постоянный (Persistent) — это содержимое, которое должно быть постоянным после перезагрузки, например, параметры конфигурации системы и приложений.
  • Время выполнения (Runtime) — контент, созданный запущенным процессом, обычно удаляется перезагрузкой
  • Переменный/динамический (Variable/Dynamic) — это содержимое может быть добавлено или изменено процессами, запущенными в системе Linux.
  • Статический контент (Static) — остается неизменным до тех пор, пока не будет явно отредактирован или перенастроен.

/ — Корневой каталог (root)

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

Поскольку все остальные каталоги или файлы происходят от корня, абсолютный путь к любому файлу проходит через корень. Например, если у вас есть файл в /home/user/documents , вы можете догадаться, что структура каталогов идет как root -> home -> user -> documents .

Читайте также:  Kaspersky security center web console linux

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

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

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

/bin непосредственно содержит исполняемые файлы многих основных команд оболочки, таких как ps , ls , ping , grep , cp .

Каталог /sbin аналогичен — он содержит важные двоичные файлы системного администрирования. /sbin содержит iptables , reboot , fdisk , ifconfig , swapon

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

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

/cdrom — Точка монтирования для компакт-дисков

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

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

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

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

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

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

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

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

Читайте также:  Remove directories recursively in linux

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

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

Имена файлов библиотеки: ld* или lib*.so.* .

Поскольку вы, вероятно, используете 64-битную операционную систему, то у вас есть пара каталогов: /lib , /lib32 и /lib64 . Те библиотеки, которые не содержат кода, специфичного для версии процессора, находятся в папке /lib . Те, которые зависят от версии, находятся в каталогах /lib32 (32-бит) или /lib64 (64-бит), в зависимости от ситуации.

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

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

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

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

Например, /media/cdrom для CD-ROM (если он не расположен в корне), /media/floppy для дисководов гибких дисков, /media/cdrecorder для рекордера компакт-дисков

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

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

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

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

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

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

Это псевдофайловая система, содержащая информацию о запущенном процессе. Например: каталог /proc/ содержит информацию о процессе с этим конкретным pid . Также тут можно получить текстовую информацию о системных ресурсах. Например узнать аптайм /proc/uptime , проверить информацию о процессоре /proc/cpuinfo или проверить использование памяти вашей системой Linux /proc/meminfo .

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

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

Читайте также:  Узнать днс серверы linux

/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 это место, где программы хранят информацию о времени выполнения, такую как системный журнал, отслеживание пользователей, кэши и другие файлы, которые системные программы создают и управляют.

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

Источник

Оцените статью
Adblock
detector