Вы можете прочитать об этом, например, в Википедии. Отрывок из:
То Стандарт иерархии файловой системы (FHS) определяет основные каталоги и их содержимое в операционных системах Linux. По большей части это формализация и расширение традиционной иерархии файловой системы BSD.
FHS поддерживается Linux Foundation, некоммерческой организацией, состоящей из крупных поставщиков программного и аппаратного обеспечения, таких как HP, Red Hat, IBM и Dell.Текущая версия - 3.0, выпущенная 3 июня 2015 года.
Визуальное представление с кратким описанием:
В основном Linux разделил структуру каталогов на основе функции того, что необходимо, чтобы сделать систему максимально безопасной с минимальным количеством необходимых разрешений. В противном случае кому-то обязательно придется выполнять много работы, которой можно избежать.
Помните, что Unix и Linux были созданы как многопользовательские системы, а Windows была создана для одного пользователя. Все остальное можно объяснить, исходя из этой идеи. Вы можете объяснить каждый каталог, думая о том, что он многопользовательский и защищенный.
3 примера:
Вы увидите, что файлы и каталоги, доступные только администратору, собраны в одном каталоге: файлы в /sbin
и /usr/sbin
и /usr/local/sbin
расшифровывается как система. Обычный пользователь даже не может запускать программы, которые там находятся. Файлы, которые может запустить обычный пользователь, находятся в /bin, /usr/bin, /usr /local/bin в зависимости от того, где они наиболее логично должны находиться. Но если они являются только администраторами, они должны перейти к s
версию этого каталога.Существует известная утилита под названием fuser
. С его помощью вы можете убивать процессы. Если бы обычный пользователь мог использовать это (ы), он смог бы прервать ваш сеанс.
То же самое касается и /home
: /home/user1 является собственностью user1. /home/user2 является собственностью user2. пользователю 2 нечего делать дома у пользователя 1 (и наоборот тоже верно: пользователю 1 нечего делать дома у пользователя 2). Если все файлы будут находиться в / home без имени пользователя под ним, вам придется предоставить разрешения для каждого файла и проверить, разрешено ли кому-либо записывать / удалять эти файлы. Кошмар, если у вас десятки пользователей.
-
Дополнение что касается библиотек.
/lib/
, /usr/lib/
, и /usr/local/lib/
это исходные местоположения, существовавшие до того, как существовали мультилибсистемы, и существующие для предотвращения поломок. /usr/lib32
, /usr/lib/64
, /usr/local/lib32/
, /usr/local/lib64/
являются 32-/64- битные многозадачные изобретения.
Это ни в коем случае не статичная концепция. Другие версии Linux внесли изменения в эту компоновку. Например; в настоящее время вы увидите debian и Ubuntu многое изменилось в компоновке FHS, поскольку SSD лучше использовать с файлами только для чтения. Наблюдается движение к новой компоновке, при которой файлы разделяются на каталог / группу "только для чтения" и "доступный для записи", поэтому у нас может быть корневой раздел, который может быть смонтирован только для чтения (раздел для ssd) и доступен для записи (жесткий диск sata).Новый каталог, который используется для этого (не на изображении), является /run/
.