Объяснение стандарта иерархии файловой системы



Попробуйте наш инструмент устранения неполадок

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



Мы потратили время на то, чтобы пройтись еще раз и определить usr и т. Д. И все другие, которые сбивают с толку даже опытных программистов. При этом вы можете увидеть дополнительный каталог или папку, которые здесь не определены. Вы когда-нибудь видели / теряли + находили в корне вашей файловой структуры? Он не определен FHS конкретно, но создается ext4 и другими файловыми системами, чтобы убедиться, что есть место для хранения потерянных файлов, обнаруженных во время проверки целостности. Если у вас когда-либо была возможность изучить структуру телефона Android, то вы, возможно, также видели его под названием LOST.DIR.



Написание папок FHS



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

/ bin включает в себя большинство основных программ, которые могут потребоваться для запуска самого простого интерфейса Linux. Здесь вы найдете cat, ls, mv, touch и nano. Название означает двоичные файлы.

/ boot содержит файлы, необходимые для загрузки вашей системы, такие как ядро ​​и файлы initrd.



/ dev содержит все файлы устройств, которые Linux использует для ссылки на другие части вашей системы. Если вы когда-либо форматировали флешку, набрав что-то вроде / dev / sdb1 после команды mkfs, значит, вы работали с файлами, которые находятся здесь. Это все настоящие файлы, но не файлы в обычном понимании те, кто пришел из среды Microsoft, могут их понять. Они позволяют работать с дисками и другими устройствами, ссылаясь на имя файла.

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

/ home содержит ваш домашний каталог и, возможно, домашние каталоги других пользователей, если они у вас есть. Вы можете использовать ~ / как сокращение для вашего собственного домашнего каталога, который должен идти вместо корневого / домашнего каталога. Например, если вы были пользователем по имени manny, то ввод ~ / Documents представлял бы / home / user / manny / Documents и переводил как таковой. Домашний каталог пользователя root спрятан в / root вместо / home / root, даже если вы используете Ubuntu и его полностью хэшировали.

/ lib содержит различные библиотеки, которые необходимы программам для работы в ядре Linux. У вас также может быть каталог / lib64 для 64-битных библиотек, если вы используете дистрибутив на основе amd64.

/ media содержит все автоматически подключенные диски, которые вы подключили в любой момент времени. Если вы подключаете к машине карты памяти, флэш-накопители или видеодиски, и они автоматически открываются для вас, то они монтируются в каталог / media.

/ mnt использовался для хранения всех ваших съемных носителей до того, как автоматическое монтирование стало популярным в Linux. Теперь он используется для всего, что вы монтируете с помощью команды sudo в командной строке. Вы можете использовать его для монтирования образов дисков или файлов ISO, если вы когда-нибудь будете использовать команду mount -o loop iso.

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

/ proc вводит в заблуждение новичков, потому что это точка монтирования виртуальной файловой системы, которая предоставляет место для файлов, которые представляют способ, которым ядро ​​видит все оборудование, подключенное к вашей машине. Лучше испытать это на собственном опыте, чем пытаться объяснить. Попробуйте бежать cat / proc / cpuinfo | Больше в командной строке, чтобы увидеть, как ваш процессор выглядит для ядра. Обратите внимание, что скорость вашего процессора в МГц не обязательно соответствует фактической скорости вашего процессора. Мы запускали это на крошечном 32-битном нетбуке со старым одноядерным процессором с тактовой частотой 1,6 ГГц, который работал на частоте 800 МГц. Это несоответствие делает файлы / proc такими полезными. Это показывает, что в дистрибутиве Lubuntu так мало ресурсов, что ЦП работает в более медленном режиме, пока ему не потребуется использовать всю мощность базового оборудования. Вот почему среда рабочего стола LXDE так популярна среди тех, кто восстанавливает старые машины.

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

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

В / srv хранятся специфичные для сайта данные для серверов и систем контроля версий, и вы можете обнаружить, что он полностью пуст в вашей установке.

/ sys содержит файлы, которые описывают драйверы и определяют устройства, которые упоминаются в других частях FHS.

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

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

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

4 минуты на чтение