Понимание структуры виртуального каталога Linux

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

Начинающие пользователи Linux сталкиваются с огромным объемом информации для изучения. Что такое этот терминал? Как запустить обновления программного обеспечения? Какой дистрибутив выбрать? Это все распространенные вопросы. Однако есть вопрос, который продолжает беспокоить многих более опытных пользователей Linux: что находится в каждом из каталогов виртуальной системы каталогов Linux? Здесь мы охватываем все от “/” до “/boot” в нашем руководстве по системе виртуальных каталогов Linux.

Что такое система виртуального каталога Linux?

Система виртуального каталога — это способ организации файлов и каталогов в операционной системе компьютера. Причина, по которой она называется “виртуальной”, заключается в том, что нет реального физического компонента — в Windows у вас есть диск “C:”, диск “D:” и так далее. В Linux все физические диски рассматриваются как файлы в вашей системе виртуальных каталогов. Именно отсюда происходит фраза “все — это файл”. Даже диск в вашей системе, с которого вы работаете для вашей операционной системы, рассматривается как файл.

Также читайте: Полезные команды Linux для отображения содержимого каталога

Понимание системы виртуального каталога

Корневой каталог: /

Начнем с самого начала. Каталог “/” (или “root”) содержит все в системе. Выполняя команду cd /, вы максимально удаляетесь в вашей системе. Перейдите в каталог “/” и выполните команду ls. Вы начнете понимать, о чем я говорю. Вместо “Документы”, “Загрузки” или “Изображения”, вы увидите такие вещи, как “bin”, “dev” и “home”. Это будет немного отличаться в зависимости от вашего дистрибутива, но есть основные каталоги, которые почти всегда будут там. Все каталоги отсюда будут начинаться с “/”, потому что это самая суть всего – отсюда и название “root”.

Виртуальный каталог Linux Fedora

Виртуальный каталог Linux Ubuntu

Директория бинарных файлов: /bin

Каталог “/bin” хранит все бинарные программы в вашей системе. Если вы заглянете туда, вы увидите общие команды, такие как cd и ls, которые мы уже использовали. Вы также можете найти их, выполнив команды which cd или which ls. Чаще всего в современных дистрибутивах каталог “/bin” связан с каталогом “/usr/bin”. Каталог “/usr” будет рассмотрен позже, но в кратце, они используются для разделения бинарных программ, предназначенных для системы и администраторов в каталоге “/bin”, и для системных пользователей в “/usr/bin”.

Виртуальный каталог Linux Which Cd

Каталог загрузки: /boot

Каталог “/boot” содержит всю основную информацию, необходимую вашей системе для загрузки. Все ядра, которые вы установили на своей системе, все конфигурационные файлы для этих ядер, информация для Grub – все это. Это очень важный каталог, и он рассматривается как раздел EFI, отдельный от вашей системы. Вот почему, когда вы создаете ручные разделы, вам нужно создать как минимум “/” и “/boot” отдельно.

Виртуальный каталог Linux Boot

Каталог устройств: /dev

Каталог “/dev” содержит все файлы устройств в системе, которые являются всеми аппаратными компонентами вашей системы (а также некоторыми другими важными виртуальными устройствами, такими как “null” и “random”). Смотря на него, вы заметите такие вещи, как “cpu”, “sda”, “tty”, “stderr”, “stdin” и “stdout”. Это все важные файлы устройств, с которыми вы будете взаимодействовать ежедневно.

Виртуальный каталог Linux Lsblk

Каталог Etc.: /etc

Это для случайных вещей. Каталог “/etc”, произносимый как Etsy, — это место, где вы найдете множество конфигурационных файлов для большинства вещей в вашей системе. Такие вещи, как SSH, Pipewire, systemD и Firefox, все имеют конфигурационные файлы здесь. Это своего рода “ящик для всякой всячины” системы виртуальных каталогов — очень важный, но немного громоздкий для поиска вещей.

Также читайте: Как удалить остаточные файлы после удаления программного обеспечения в Linux

Домашний каталог: /home

Каталог “/home” содержит все личные файлы пользователей. Когда создаётся пользователь, ему, как правило, предоставляется каталог “/home” и разрешения редактировать только файлы в своем каталоге “/home”. Некоторым пользователям также предоставляются административные права, которые вы получаете с помощью sudo, но это всего лишь предполагает права пользователя root. Если вы последовательно выполните команды whoami и sudo whoami, вы начнете замечать это. Это каталог, с которым вы, вероятно, наиболее знакомы.

Виртуальный каталог Linux Whoami

Каталоги библиотеки: /lib, /lib32 и /lib64

Каталоги “/lib” содержат специфические библиотеки, которые программы в “/bin” или “/sbin” (описанные позже) будут использовать. Здесь хранятся прошивки, а также другие библиотеки для установки различных частей ядра и модулей ядра. Сестринские каталоги “/lib32” и “/lib64” просто содержат версии для 32-битных и 64-битных операционных систем и почти идентичны базовому каталогу “/lib”.

Виртуальный каталог Linux Lib

Каталоги Media: /media и /mnt

Я группирую их вместе, потому что они часто выполняют одну и ту же задачу. Каталог “/media” — это место, где хранятся содержимое CD, DVD или других съемных носителей. Если я подключаю USB-накопитель, вы увидите его в каталоге “/media” на большинстве систем.

Каталог “/mnt” используется для более длительных точек монтирования. Например, если я добавлю еще один SSD в свою систему, я могу настроить постоянную точку монтирования для него в каталоге “/mnt”. Или, если у меня есть NAS в моем доме, я также могу смонтировать ту информацию в каталоге “/mnt”.

/opt

Каталог “/opt” содержит дополнительные программные пакеты, используемые пользователем. Он гораздо меньше, чем вы думаете — у меня он содержит только файлы для Brave, Google Chrome и Sublime Text. Если вы добавите репозиторий для программного обеспечения, вы, вероятно, найдете его в “/opt”.

/proc

Каталог “/proc” содержит информацию об аппаратном обеспечении и текущих процессах. По мере того как система выявляет, как выглядит аппаратный ландшафт, эта информация будет храниться в каталоге “/proc”. Например, если вы выполните команду cat /proc/cpuinfo, вы узнаете о вашем CPU больше, чем когда-либо хотели бы знать.

Также читайте: Использование файловой системы /proc для изучения работы вашего Linux

/root

Это просто версия каталога “/home” для пользователя root. Если вы много работаете как пользователь root, вы найдете вещи там.

/run

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

/sbin

Каталог “/sbin” содержит бинарные программы, которые должны быть доступны только пользователю root. Например, бинарная программа, которая выключает вашу систему ( poweroff), должна, вероятно, оставаться в “/sbin”.

Виртуальный каталог Linux Which Poweroff

/srv

Это каталог, который хранит специфические для сайта данные на основе веб-доступных услуг, которые вы запускаете. Такие вещи, как FTP и HTTP, будут иметь здесь специфическую информацию. Я ничего не запускаю, поэтому мой каталог “/srv” пуст.

/sys

Каталог “/sys” содержит информацию о ключевых устройствах системы. У меня вы увидите такие вещи, как “/sys/dev”, “/sys/firmware” и “/sys/kernel”. Это выборка из суперважных аппаратных устройств в каталоге “/dev”.

Виртуальный каталог Linux Sys

/tmp

Каталог “/tmp” используется для хранения временной информации от различных программ на вашей системе. Информация хранится здесь только на несколько дней без перезагрузки, так что это всего лишь временные замки на информацию, чтобы освободить другое место для хранения. Большинство пользователей вряд ли когда-либо что-то сделают с каталогом “/tmp”.

/usr

Каталог “/usr” становится все более и более часто используемым. Теперь каталоги, такие как “/bin”, “/lib” и “/sbin”, связаны с версиями этих каталогов в “/usr”. Вы можете увидеть это, когда я выполняю команду ll на своей системе.

Это символические ссылки, поэтому их можно отсоединить, но система в итоге считывает из каталогов “/usr/bin” или “/usr/sbin”, а не из каталогов “/bin” или “/sbin”. Это все сделано для упрощения имеющейся иерархии и для облегчения поиска этих программ. Это приятное решение, которое упрощает переход с Linux на Unix или отсутствие фиксированных мест для различных бинарников.

/var

Каталог “/var” похож на каталог “/tmp”, но он хранит данные немного дольше. Он также хранит такие вещи, как журналы и образы дисков виртуальных машин KVM.

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