Файловая структура операционных систем linux

Структура и типы файловых систем в Linux

Файловая система (file system, ФС) — важная составляющая любой операционной системы (ОС), отвечающая за организацию, хранение, чтение, запись файлов. От ФС зависит физическая и логическая структура файлов, политика создания и управления ими, максимальный размер файла и длина его имени. Linux поддерживает множество разных file system, включая FAT, FAT32, NTFS из Windows. Но использовать рекомендуем «родные» системы: Ext3, Ext4, ReiserFS, XFS, Btrfs и пр. Особенно если вы намерены работать с облачной инфраструктурой.

Организация файловой системы Linux

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

File system Linux — пространство раздела, состоящее из кратных размеру сектора блоков. Обмен данными производится через VFS или с помощью драйверов. VFS (virtual file system) — это слой абстракции, необходимый для взаимодействия между ядром и софтом. VFS позволяет не думать о специфике работы той или иной ФС. Драйверы ФС обеспечивают взаимодействие между оборудованием (железом) и приложениями.

File system Linux организована следующим образом

Файловая система Linux

Такая архитектура позволяет обеспечивать поддержку добавляемой ФС без вмешательства в ядро ОС. Ядро Linux поддерживает более 100 типов файловых систем, причём не только современных, но и старых. Чтобы увидеть список ФС, поддерживаемых ядром, откройте /proc/filesystems.

Структура и иерархия файловой системы Linux

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

Ключевое отличие в том, что обычно в линуксе программа не сохраняется в одной папке. Она распределяется по корневой файловой системе. По сути, file system в Linux начинается с директории «/» (которая называется корнем — от слова root) и разрастается в директории /sbin, /dev, /lib, /log, /boot и т.д. Получается древовидная иерархическая структура, в которой абсолютный путь к любой сущности начинается с корневой директории. Если файл лежит в /home/user/work, то структура каталогов идет по цепочке root->home->user->work.

Читайте также:  Linux md5 file checksum

Иерархичность линуксовых систем часто определяется стандартом FHS, который описывает, какая информация должна находится в том или ином месте «дерева». Ещё одной особенностью линкусовой файловой системы является её целостность. Это значит, что любые изменения, вносимые в файл, не влияют на другие файлы, которые не связаны с ним. Командой fsck вы можете проверить целостность ФС в Linux.

Типы ФС Linux

Пользователи могут использовать одну или несколько файловых систем, зашитых в линуксовый дистрибутив. Так как от них зависит метод работы с файлами, конфигурацией ядра и особенности хранения информации в оперативной памяти, то выбирать file system нужно исходя из текущих задач, учитывая сильные и слабые стороны доступных ФС.

Выделяют два типа таких систем, журналируемые и не журналируемые. Определить тип можно при помощи команды file -s. ФС первого типа ведут логи, фиксируя в отдельном файле информацию о действиях пользователя и план проверки системы. За счёт логирования система получается более устойчивой к сбоям. ФС второго типа не имеют логов. Они обладают хорошим быстродействием, но более уязвимы, так как не обеспечивают сохранность данных.

Если вы работали с линуксом, то file system из списка ниже вам наверняка знакомы:

Особые файловые системы

Можно привести и другие разновидности файловых систем. Например, линуксоидам известны специальные ФС. Они используются для обеспечения доступа пользователю или приложениям к настройкам ядра ОС. Среди специальных файловых систем выделяют:

  • tmpfs. Записывает данные в оперативную память, создавая блочное устройство требуемого размера, которое затем подключают к папке.
  • procfs. Отвечает за хранение информации о системных процессах и ядре.
  • sysfs. Управляет настройками ядра ОС.

Бывают ситуации, когда наличие ФС в ядре системы не требуется. В этом случае можно использовать модуль FUSE (filesystem in userspace), который создаёт виртуальную файловую систему. Существует несколько видов виртуальных ФС с разным функционалом:

  • EncFS. Шифрует файлы и сохраняет их в выбранную директорию.
  • Aufs. Объединяет несколько file system в одну. Умеет делать то же самое с папками.
  • NFS. Может удалённо монтировать ФС.
  • ZFS. Создана для операционной системы Solaris. Отсутствие фрагментации, управление снапшотами, меняющийся размер блоков обеспечивают высокий уровень привлекательности этой ФС.
Читайте также:  Linux disk usage analyzer console

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

Источник

Файлы, каталоги и папки в Linux. Структура файловой системы

В операционной системе Linux файловая система отличается организованной структурой. Если вы только перешли с Windows, вы можете столкнуться с некоторыми затруднениями, во многом из-за отсутствия чёткого понимания о принадлежности каждой директории. В данной статье будет рассмотрена структура файловой системы, в результате чего смысл применения большинства папок в Linux директории (directory) станет вам ясен.

В первую очередь, обратите внимание на следующую таблицу ниже:

slide_38-1801-9a9c85.jpg

Теперь следует разобрать всё более подробно.

/ — корень

Главный каталог в системе. Здесь нет дисков, как в Виндовс. По большему счёту, это и есть файловая система Линукс. Адреса всех существующих файлов начинаются с корневой директории Linux, а дополнительные разделы подключаются к папкам корневого каталога.

Читать или менять содержимое в данном каталоге может лишь root-пользователь (user). Домашний каталог пользователя root — /root.

/bin — бинарные файлы пользователя

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

/sbin — системные исполняемые файлы

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

/etc

В этой папке Linux расположены конфигурационные файлы всех программ, которые установлены в системе. Также есть скрипты для запуска демонов, автозагрузки программ и т. п. Главное, что следует запомнить, — речь идёт о файлах по настройке и конфигурации.

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

Как вы знаете, в операционной системе Linux «всё есть файл». И различные внешние устройства тоже. В результате, любые подключённые микрофоны, клавиатуры, флешки и т. п. — это лишь файлы, которые находятся в каталоге /dev.

/proc — информация о процессах

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

/var — переменные файлы

Речь идёт о файлах, которые часто меняются — это базы данных, кеши, системные журналы и пр. Следует подробнее рассмотреть каталог Linux из папки /var/: • /var/log — файлы логов; • /var/lib — базы данных; • /var/lock — файлы блокировок; • /var/mail — почта; • /var/spool — принтер, печать; • /var/run — pid процессов.

Читайте также:  Команды kali linux шпаргалка

/tmp

В данном каталоге располагаются временные файлы, которые созданы пользователями (users), программами или системой. Любой пользователь имеет права записи в данную директорию. При перезагрузке компьютера они удаляются.

/usr — программы пользователя

Этот каталог является самым большим и имеет много функций. Вкратце рассмотрим его структуру: • /usr/bin/ — исполняемые файлы (графические редакторы, браузеры, плееры — не используются при загрузке системы); • /usr/sbin/ — бинарные файлы программ, предназначенных для системного администрирования (выполняются с правами суперпользователя); • /usr/lib/ — библиотеки для программ из /usr/sbin либо /usr/bin; • /usr/local — файлы пользователя (программы, библиотеки и настройки, созданные пользователем).

/home — домашняя папка

Linux директория пользователей, где содержатся домашние каталоги всех пользователей. В данных каталогах пользователи хранят личные файлы, программные настройки и пр. Аналогия с Windows — папка на диске C. Но тут есть разница: home располагается на отдельном разделе, в результате чего при переустановке системы все данные и настройки сохраняются.

/boot — файлы загрузчика

Linux директория, где содержатся файлы, связанных с загрузчиком системы (ядро vmlinuz, образ initrd и пр.).

/lib — системные библиотеки

Тут располагаются файлы системных библиотек.

/opt — дополнительные программы

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

/mnt — монтирование

Сюда сисадмины монтируют внешние либо дополнительные файловые системы Linux.

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

Монтируются подключаемые внешние накопители — оптические диски, USB-устройства.

/srv — сервер

Файлы сервисов и серверов. Как пример — web-сервер Apache.

/run — процессы

Каталог включает в себя PID-файлы процессов, однако в отличие от /var/run, он располагается в TMPFS, в результате чего всё удаляется после перезагрузки.

/sys — информация о системе

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

Пожалуй, этого достаточно для общего понимания файловой системы и структуры папок в Linux. Более профессиональную информацию всегда можно получить на нашем курсе.

Источник

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