Для чего нужен каждый каталог в Linux или структура директорий ОС Линукс

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

В этой статье приведен список основных директорий файловой системы Линукс и их краткое описание.

Подробное описание структуры файловой системе Linux

/Наверх

Корневой раздел.

/binНаверх

В этом каталоге хранятся основные команды операционной системы, такие как команды оболочки и команды файловой системы (ls, cp и т.д.).

/bootНаверх

Здесь хранятся образы ядер Linux и менеджер загрузки: grub, lilo и т.д.

/devНаверх

Директория содержит файлы устройств, подключенные к операционной системе.

В Linux вообще всё рассматривается, как файл, даже различные устройства, такие как принтеры, жёсткие диски, сканеры и т.д. Для получения доступа к определённому устройству, необходимо чтобы существовал специальный файл. Аналогично устроено большинство UNIX-подобных операционных систем.

/etcНаверх

В этой директории находится основная часть конфигурационных файлов самой операционной системы (настройки сети, список пользователей, групп и т.д.) и различных программ (Apache, Samba и т. д.).

/homeНаверх

В этом месте должна размещаться вся личная информация пользователей системы.

Почему должна? Потому что владелец компьютера может хранить свою личную информацию в любом понравившемся ему месте. В целях безопасности самой операционной системы и пользовательских данных хранить последние строго рекомендуется в директории /home. Для получения более высокой надежности операционной системы и сохранности пользовательской информации директорию /home рекомендуется выделить в отдельный раздел жесткого диска.

/home/usernameНаверх

Это Домашняя папка пользователя usermame. В ней хранится пользовательская часть конфигурационных файлов (настройки пользовательских программ) и вся личная информация пользователя.

Linux является многопользовательской системой и поэтому каждый пользователь имеет уникальный каталог для персональных файлов. Этот каталог называется Домашней папкой пользователя. Домашняя папка суперпользователя root располагается в корне файловой системы.

Такое разделение пользовательских директорий от файлов операционной системы упрощает резервирование данных и повышает надежность самой операционной системы.

/lost+foundНаверх

В lost+found скидываются файлы, на которых не было ссылок ни в одной директории, хотя их inod не были помечены как свободные. Допустим при удалении файла из директории произошёл сбой (выключилось питание), то в системе останется потерянный inod, который вроде как и указывает на корректный файл, но этот файл не содержится ни в одной директории. В ext2 и других нежурналируемых файловых системах задача восстановления таких файлов ложится на fsck. Он находит inod, на которые нет ссылок, и создаёт на них ссылки в lost+found. После этого пользователь сможет просмотреть файлы и при необходимости переместить им куда надо, вернув нужные имена.

В ext3 и в других журналируемых файловых системах fsck просматривает журнал и видя, что операция завершилась не полностью, откатывает ее. Поэтому потерянных inod в журналируемых файловых системах находиться меньше.

/libНаверх

Эта директория предназначена для хранения системных библиотек, необходимые для работы программ из директорий /bin и /sbin и операционной системы вцелом.

/mediaНаверх

Директория, используемая для автоматического монтирования различных устройств USB-накопителей, CD-ROM и т.д. При вставке в привод CD-ROM диска он автоматически подключается во вложенный каталог этой директории.

/mntНаверх

Обычно эта директория используется для ручного подключения устройств. В эту директорию командой mount «руками» монтируются различные USB-накопители, CD-ROM и т.д.

/optНаверх

Директория, в которой обычно размещаются установленные программы, имеющие большой дисковый размер или вспомогательные пакеты (например /opt/openoffice.org).

/procНаверх

/proc — это директория, к которой примонтирована виртуальная файловая система procfs. Различная информация, которую ядро может сообщить пользователям, находится в "файлах" каталога /proc. Например, в файле /proc/modules находится список загруженных модулей ядра. А в файле /proc/cpuinfo — информация о процессоре компьютера. Подробнее можно прочитать здесь.

/rootНаверх

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

/sbinНаверх

Основные системные программы для администрирования и настройки системы (iptables, ifconfig и т.д.).

/srvНаверх

Параметры, которые специфичные для окружения системы. Чаще всего данная директория пуста.

/sysНаверх

/sys — это директория, к которой примонтирована виртуальная файловая система sysfs, которая добавляет в пространство пользователя информацию ядра Linux о присутствующих в системе устройствах и драйверах. В версии ядра ниже 2.6 не использовалась.

/sys/blockНаверх

/sys/block содержит директории всех блочных устройств, присутствующих в данный момент в системе.

/sys/busНаверх

В этой директории находится список шин, определенных в ядре Linux (eisa, pci и т.д.).

/sys/classНаверх

Каталог содержит список группированных устройств по классам (printer, scsi-devices и т.д.).

/tmpНаверх

Временное хранилище данных. Аналог папки в ОС Windows — C:/Windows/Temp. Все пользователи имеют права чтения и записи в этом каталоге.

/usrНаверх

В этом каталоге хранятся все установленные пакеты программ, документация, исходный код ядра и система X Window. Все пользователи кроме суперпользователя root имеют доступ только для чтения. Может быть смонтирована по сети и может быть общей для нескольких машин.

/usr/binНаверх

Директория дополнительных программ для всех учетных записей.

/usr/gamesНаверх

Каталог для размещения доступных компьютерных игр в системе.

/usr/includeНаверх

Заголовочные файлы С++.

/usr/libНаверх

Системные библиотеки для программ, расположенных в директории /usr.

/usr/localНаверх

По стандарту /usr должен быть общим для нескольких компьютеров и смонтирован по сети, а /usr/local должен содержать установленные пакеты программы только на локальной машине (к примеру, /usr - бюджет семьи, а /usr/local - личный кошелек каждого). Но чаще всего директория /usr/local используется для установки программ, которые не предназначены для конкретного дистрибутива (к примеру для пакетного дистрибутива Ubuntu в /usr находятся "родные" установленные пакеты, а /usr/local находятся собранные пакеты из исходников).

/usr/sbinНаверх

Дополнительные системные программы.

/usr/shareНаверх

Общие данные установленных программ.

/usr/share/iconsНаверх

В каталоге находятся все иконки системы.

/usr/share/docНаверх

Директория, в которой обычно находится справочная документация по установленным программам.

/usr/srcНаверх

Исходные кода (например, здесь располагаются исходные кода ядра).

/varНаверх

Это каталог для часто меняющихся данных. Здесь находятся журналы операционной системы, системные log-файлы, cache-файлы и т. д.

/var/cacheНаверх

В этом месте хранятся все кэши различных программ.

/var/gamesНаверх

В этом месте расположены файлы с игровыми достижениями.

/var/libНаверх

Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.).

/var/lockНаверх

Здесь лежат lock-файлы, указывающие на занятость некоторого ресурса.

/var/logНаверх

В этом месте хранятся все log-файлы.

/var/spoolНаверх

Задачи, ожидающие обработки (например, очереди печати, непрочитанные или не отправленные письма, задачи cron и т. д.).

/var/wwwНаверх

В этом месте размещаются Web-страницы для сервера Apache.

Раздел <swap>Наверх

Раздел виртуальной памяти для увеличения скорости обмена с оперативной памятью. Более подробнее можно узнать в статье "Создание, редактирование и удаление SWAP в Linux"