======Структура каталогов (папок) файловой системы Linux====== {{:software:linux_server:tree_2.png?150 | }} Операционные системы на базе Linux имеют определенную структуру каталогов. Существует специальный стандарт Filesystem Hierarchy Standard (FHS, стандарт иерархии файловой системы). Данный стандарт определяет типовые места хранения файлов в файловой системе Linux, он определяет основные каталоги, их названия и предназначение. Корнем файловой системы является корневой каталог, который обозначается как /. Внутри корневого каталога расположены все базовые каталоги, каждый из которых, предназначен для определенных целей. Ниже приводится краткое описание основных стандартных каталогов операционной системы Linux. В большинстве случаев, когда говорят о каталогах в Linux, используют именно понятие Каталог. Пользователям Windows, наверное, ближе понятие Папка. Будем считать, что понятия Каталог, папка и директория эквивалентны. Файловая система в ОС Linux, как и в ОС Windows, представляет собой иерархическую структуру каталогов и файлов (в виде дерева), но при этом имеет ряд кардинальных отличий. =====Структура каталогов===== В ОС Windows жесткие диски называются латинскими буквами (С:, D:, …), и каждый из дисков представляет собой корневой каталог с собственным деревом папок. Подключение же нового устройства приведет к появлению нового корневого каталога со своей буквой (например, F:). В ОС Linux файловая система представлена единым корневым каталогом, обозначаемым как слэш (/). Соответственно, при данной файловой структуре не диски содержат каталоги, а каталог — диски. =====Подключение внешних носителей===== В ОС Linux имеется процедура монтирования: когда подключается съемный носитель или диск, файл устройства будет виден в каталоге /dev (devices). Чтобы увидеть содержимое этого устройства, его нужно смонтировать в отдельную директорию /mnt. Также файловая система позволяет примонтировать его и в любое другое место, например /home. =====Понятие файла===== Понятие «файл» в Linux имеет несколько другое значение, нежели в Windows. «Файлом» можно назвать обычный файл, содержащий данные, и интерпретируемый программой. Директория также является «файлом», содержащим в себе ссылки на другие директории или файлы с данными. Файлы устройства указывает на драйвер, благодаря которому система взаимодействует с физическими устройствами. Имеются и многие другие типы файлов. =====Принцип установки программ===== Если в Windows программы, зачастую, хранят все данные в одной папке, например в «C:Program FilesProgramName», то в Linux файлы программы разделяются по каталогам в зависимости от типа. Например, исполняемые файлы в /bin, библиотеки в /lib, файлы конфигураций в /etc, логи и кэш в /var. =====Регистр имен===== Также стоит отметить чувствительность файловой системы Linux к регистру. Файлы Temp.txt и temp.txt будут интерпретироваться как разные файлы и могут находиться в одной директории, в отличие от ОС Windows, который не различает регистр имен. То же правило действует и на каталоги — имена в разных регистрах указывают на разные каталоги. Назначение каждой директории регламентирует «Стандарт иерархии файловой системы» FHS (Filesystem Hierarchy Standard). Ниже опишем основные директории согласно стандарту FHS: {{:software:linux_server:tree_3.jpg?|}} =====Основные директории===== Дерево файлов и каталогов начинается с корня первичной иерархии (/). Единственный пользователь root имеет право на запись в этом каталоге. /root – домашний каталог пользователя root, который не совпадает с корнем /. ====Каталог «/»==== Корневой каталог, это есть «слэш» — «/». Слэш это самое начало (корень) дерева каталогов (директорий). Аналог в Windows это «c:\». ====Каталог «/bin»==== Каталог содержит в себе команды, основные команды, которые необходимы пользователю для работы в системе. Например: командные оболочки, команды файловой системы (ls, cp и т.д.). Каталог /bin по сути не должен изменяться, но если изменяется, то только при обновлениях пакетов программ, которые предоставляют разработчики операционной системы. Аналог в Windows это «c:\windows\». ====Каталог «/boot»==== Каталог содержит файлы, которые использует загрузчик ОС — LInux LOader (LILO). Этот каталог так же как и /bin практически не изменяется после установки. Аналог в Windows это экран в начале загрузки Windows: «безопасный режим, загрузка последней удачной конфигурации и т.д.». ====Каталог «/dev»==== В Linux всё рассматривается как файл: жёсткие диски (HDD), USB-устройства, последовательные и параллельные порты, сканеры. Описания всех устройств системы находятся в этом каталоге. Чтобы получить доступ к какому либо устройству, необходимо чтобы в каталоге /dev существовал файл device node, описывающий это устройство. Все эти файлы находятся в каталоге /dev. Аналог в Windows отсутствует. ====Каталог «/etc»==== Этот каталог содержит файлы настроек: всё, от конфигурационных файлов системы X Window, базы данных пользователей и до стартовых сценариев. Аналог в Windows ini-файлы. ====Каталог «/home»==== В этом каталоге размещены домашние каталоги пользователей. Так как Linux является многопользовательской системой, то и каждому пользователю присваивается имя, а в сел за этим и уникальный каталог для персональных файлов. Это домашний (home) каталог пользователя. Аналог в Windows в первом приблежении это папка «Documents and Settings». ====Каталог «/lib»==== В этом каталоге находятся системные библиотеки, необходимые для основных программ: библиотека C, динамический загрузчик, библиотека ncurses, модули ядра и другое. Аналог в Windows это «c:\windows\system32». ====Каталог «/lost+found»==== В этом каталоге сохраняются восстановленные части файловой системы. При загрузке системы происходит проверка файловых систем на наличие ошибок. Для исправления ошибок файловой системы запускается программа fsck. Аналог в Windows это директории «found.000». ====Каталог «/media»==== Каталог, содержащий в себе подключенные накопители, cd-диски, dvd-диски, usb-накопители. Этот каталог присутствует в Debian-семействах Linux. Аналог в Windows отсутствует. ====Каталог «/mnt»==== Этот каталог предоставляется как временная точка монтирования для жёстких дисков, дискет, компакт-дисков или отключаемых устройств. То же самое, что и /media. Аналог в Windows отсутствует. ====Каталог «/opt»==== В этом каталоге размещаются дополнительные пакеты программ. Все пакеты программ, устанавливаются в этот каталог, например /opt/<программный пакет>. В последствии если этот пакет больше не будет нужен, то достаточно всего лишь удалить соответствующий каталог. В дистрибутивах SlackWare некоторые программы изначально поставляются в каталоге /opt (например, KDE — в /opt/kde). Аналог в Windows это «Programm Files». ====Каталог «/usr»==== Это один из самых больших каталогов в системе. Практически всё остальное расположено здесь. Программы, документация, исходный код ядра и система X Window. Именно в этот каталог, чаще всего, устанавливаются программы. Аналог в Windows это «Programm Files». ====Каталог «/proc»==== Это специальный каталог не входящий в файловую систему. Каталог /proc представляет собой виртуальную файловую систему, которая предоставляет доступ к информации ядра. Различная информация, которую ядро может сообщить пользователям, находится в «файлах» каталога /proc. Например, в файле /proc/modules находится список загруженных модулей ядра. А в файле /proc/cpuinfo — информация о процессоре компьютера. Аналог в Windows отсутствует. ====Каталог «/root»==== Это домашний каталог администратора, вместо /home/root. Это потому, что каталог /home может находиться в разделе, отличном от корневого (/) и если по какой-то причине /home не может быть подключён, то пользователь root должен будет войти в систему, чтобы решить проблему. И если его домашний каталог на другом диске, то это усложнит вход в систему. Аналог в Windows находится в папке «Documents and Settings». ====Каталог «/sbin»==== В этом каталоге хранятся основные программы, выполняемые пользователем root, а так же программы выполняемые в процессе загрузки. Обычные пользователи не могут пользоваться этими программами. Аналог в Windows отсутствует. ====Каталог «/srv»==== В этом каталоге хранится только данные различных сервисов. Сервисы — это процессы, которые работают в невидимом режиме (фоновом) и сохраняющих работоспособность системы в целом. Аналог в Windows отсутствует. ====Каталог «/sys»==== В каталоге /sys находятся средства управления настройками и конфигурациями системы. Аналог в Windows отсутствует. ====Каталог «/tmp»==== Временное хранилище данных. Все пользователи имеют права чтения и записи в этом каталоге. Аналог в Windows папка «Temp». ====Каталог «/var»==== В этом каталоге хранятся системные лог-файлы, кэш-файлы и файлы-замки программ. Это каталог для часто меняющихся данных. Аналог в Windows отсутствует. =====Базовые команды===== * **cd (англ. change directory)** – переход в другой каталог. * **ls (англ. list)** – просмотр содержимого каталога. =====Ссылки и Дополнения===== * [[https://pingvinus.ru/note/linux-directories-structure|Оригинал статьи]] * [[https://pingvinus.ru/note/tree|Утилита tree — просмотр дерева директорий]]