Корневая система linux. Структура файловой системы и каталогов linux. Просмотр содержимого директории

Файловая система Linux представляет собой четкую структуру каталогов и файлов. В этой статье рассмотрим краткое назначение каждого из каталогов.

Файловые системы Linux содержат множество каталогов, большинство из которых определяются стандартом FHS(Filesystem Hierarchy Standard).

Назваие статьи состоит из терминов "каталог", "директория" и "папка". Рассмотрим их.

Каталог или директория (англ. directory - директория) - объект в файловой системе, упрощающий организацию файлов.

Папка (англ. folder) - этот термин используется для представления каталогов в графическом пользовательском интерфейсе.

Следовательно, все эти термины обозначают одно и тоже. Для удобства будем использовать в данной статье термин каталог, т.к. я считаю его наиболее подходящим (лично мое мнение).

Общая структура файловой системы ОС Linux

В зависимости от используемого дистрибутива Linux, некоторых из представленных каталогов может и не быть, или наоборот, могут присуствовать другие непредставленные тут каталоги. Я попытался собрать и дать описание лишь наиболее часто встречающихся каталогов в ОС Linux.

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

Главный каталог, в нем хранится все, что есть на вашей ОС Linux. Все разделы Linux хранятся в виде другого подкаталога в корневом каталоге /.

/bin - основные бинарные файлы (программы)

Содержит основные двоичные (бинарные) системные программы (модули), утилиты (ls, cp и т.п.) и командные оболочки (bash и т.п.), которые должны обеспечить минимальный уровень работоспособности системы в однопользовательском режиме. Размещение этих файлов в каталоге /bin гарантирует, что в системе эти важные утилиты будут даже в случае, если другие файловые системы не смонтированы.

/boot - файлы для загрузки ОС

Хранятся образы ядер Linux и файлы менеджеров загрузки (grub, lilo и т.д.).

/cdrom – точка монтирования для CD-дисков

Данный каталог не является частью стандарта FHS, содержится в Ubuntu и вышедших из него дистрибутивах. Используется как место для монтируования CD-ROM дисков.

/dev - файлы устройств

В Linux все устройства предоставлены в виде специфических файлов, расположеных в этом каталоге. Например, файл /dev/sda представляет диск SATA. Также в этом каталоге хранятся файлы псевдо-устройств (виртуальных), для этих файлов нет соответствующего реального устройства. Например, файл /dev/random генерирует случайные числа, а файл /dev/null является специальным устройством для удаления всех входных данных.

/etc - конфигурационные файлы

Содержит основные конфигурационные файлы операционной системы и различных программ.

/home - домашние каталоги пользователей

Содержит домашние каталоги пользователей. По идеологии UNIX для обеспечения безопасности ОС рекомендуется хранить пользовательские данные именно в этой директории. Например, если ваше имя пользователя mara, то у вас есть домашний каталог, который находится в /home/mara и содержит пользовательские конфигурационные файлы и личную информацию. Каждый пользователь имеет доступ на запись только в своем домашнем каталоге.

/lib - основные библиотеки

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

/lib64 - 64-битные основные библиотеки

Этот каталог присуствует в основном на 64-битных системах, содержит набор библиотек и компонентов компилятора языка С для 64-битных программ.

/lost+found - восстановленные файлы

Присуствует во всех ОС Linux. При сбое в работе файловой системы и дальнейшей проверке файловой системы (при загрузке ОС), все найденные поврежденные файлы будут помещены в каталоге lost+found, их можно попытаться восстановить.

/media - точка для автоматического монтирования

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

/mnt - точка для ручного монтирования

Используется для временного ручного монтирования (с помощю команды mount) различных устройств, таких как CD-ROM, USB-накопителей и т.д.

/opt - вспомогательные пакеты программ

Находятся подкаталоги для дополнительных пакетов программного обеспечения. Каталог широко используется проприетарным программным обеспечением, которое не подчиняется стандартной иерархии файловых систем.

/proc – файлы ядра и процессов

В эту директорию примонтирована виртуальная файловая система procfs. В ней находятся специальные файлы, в которых представлена информация о системе и о выполняющихся процессах. Например, в файле /proc/cpuinfo собержиться информация о процессоре.

/root - Домашний каталог пользователя root

Домашний каталог пользователя root. Вместо того, чтобы находиться в /home/root, он помещается в /root для большей надёжности системы.

/run – файлы состояния приложений

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

/sbin - бинарные файлы (программы) для администрирования системы

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

/selinux – виртуальная файловая система SELinux

В некоторых дистрибутивах (Red Hat, Fedora и т.п) для обеспечения безопасности используется пакет SELinux (Security-Enhanced Linux), при этом создается каталог с файлами /selinux.

/srv – данные сервисных служб

Этот каталог присуствует не во всех дистрибутивах, содержит "данные для сервисов, предоставляемых системой" (например сервер Apache может хранить файлы вашего сайта в этом каталоге). В большинстве случаев директория пуста.

/sys - виртуальная файловая система sysfs

Этот каталог появился с выходом ядра версии 2.6 и в него примонтирована виртуальная файловая система sysfs с информацией об устройствах, драйверах, ядре ОС и т.п.

Описание вложеных каталогов:

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

/sys/bus - содержит список шин, определенных в ядре Linux (eisa, pci и т.д.).

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

/tmp - временные файлы

Временные файлы, обычно удаляются при перезагрузке системы. Является аналогом C:/Windows/Temp в ОС Windows. Все пользователи имеют права чтения и записи в этом каталоге.

/usr - пользовательские бинарные файлы, используемые только для чтения

В этом каталоге находятся приложения и файлы, используемые только пользователями, а не самой системой.

Описание вложеных каталогов:

/usr/bin - исполняемые файлы для всех учетных записей.

/usr/games - каталог для компьютерных игр в системе.

/usr/include - файлы заголовков, предназначенные для компиляции С-программ.

/usr/lib - системные библиотеки и вспомогательные файлы, расположенные в директории /usr.

/usr/local - в этот каталог устанавливаются приложения, откомпилированные локально, что позволяет им не смешиваться с остальной частью системы.

/usr/local/bin - локальные исполняемые файлы.

/usr/local/etc - локальные системные команды и файлы конфигурации.

/usr/local/lib - локальные вспомогательные файлы.

/usr/local/sbin - локальные служебные системные команды.

/usr/local/src - исходные коды программ каталогов /usr/local/*

/usr/man - страницы интерактивной документации.

/usr/sbin - менее важные команды системного администрирования.

/usr/share - общие данные установленных программ (доступен только для чтения).

/usr/share/man - страницы интерактивной документации.

/usr/share/icons - иконки системы.

/usr/share/doc - справочная документация.

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

/var - каталог для часто меняющихся данных

В этом каталоге находятся журналы операционной системы, системные log-файлы, cache-файлы и т.д.

/var/adm - журнальные файлы, записи об инсталляции системы, административные компоненты.

/var/cache - все кэши для различных программ.

/var/games - файлы с игровыми достижениями.

/var/log - cистемные журнальные файлы (log-файлы).

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

/var/lib - изменяемые программами в процессе работы (например, базы данных, метаданные и др.).

/var/spool - буферные каталоги (например, очереди печати, непрочитанные или не отправленные письма, задачи cron и т.д.).

/var/tmp - каталог для временного хранения файлов.

/var/www - размещаются Web-страницы для сервера Apache.

Посмотреть структуру файловой системы можно используя команду ls -la. Ниже приведен пример вывода команды для дистрибутива OpenSUSE.

# ls -la total 260 drwxr-xr-x 24 root root 4096 Aug 30 2013 . drwxr-xr-x 24 root root 4096 Aug 30 2013 .. drwxr-xr-x 2 root root 4096 Aug 8 2012 .config -rw-r--r-- 1 root root 149519 Aug 30 2013 .readahead drwxr-xr-x 2 root root 4096 Aug 8 2012 bin drwxr-xr-x 3 root root 4096 Aug 8 2012 boot drwxr-xr-x 18 root root 3340 May 16 16:29 dev drwxr-xr-x 122 root root 12288 Jun 27 2013 etc drwxr-xr-x 4 root root 4096 Sep 21 2012 home drwxr-xr-x 16 root root 4096 Aug 23 2012 lib drwxr-xr-x 10 root root 12288 Aug 23 2012 lib64 drwx------ 2 root root 16384 Aug 8 2012 lost+found drwxr-xr-x 2 root root 40 Dec 11 2013 media drwxr-xr-x 2 root root 4096 Oct 25 2011 mnt drwxr-xr-x 3 root root 4096 Aug 23 2012 opt dr-xr-xr-x 194 root root 0 Dec 11 2013 proc drwx------ 31 root root 4096 Jun 10 14:38 root drwxr-xr-x 23 root root 780 Jul 9 17:39 run drwxr-xr-x 3 root root 12288 Aug 8 2012 sbin drwxr-xr-x 2 root root 4096 Oct 25 2011 selinux drwxr-xr-x 6 1004 users 4096 Sep 21 2012 srv drwxr-xr-x 12 root root 0 Dec 11 2013 sys drwxrwxrwt 95 root root 4096 Jul 9 17:39 tmp drwxr-xr-x 13 root root 4096 Nov 10 2011 usr drwxr-xr-x 16 root root 4096 Aug 9 2012 var

Вот и все. Рассмотрение предназначения основных встречающихся каталогов в файловой системы Линукс завершено.

В "ОС" Linux вся файловая система имеет организованную, конкретную структуру. Начинающие пользователи, только пересевшие с Windows на , как правило, испытывают определенные трудности, в связи с отсутствием четкого представления о принадлежности каждой директории. Весь изложенный ниже материал, должен восполнить этот пробел.

Cтруктура каталогов Linux .

(Чтобы из таблицы переместиться к описанию директории, нужно кликнуть по названию директории. Чтобы вернуть страницу на верх, нужно кликнуть, в правом нижнем углу экрана, по квадратику со стрелочкой.)

Краткое описание.

/ корневой раздел

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

В данной директории находится основной состав команд "ОС", к ним относятся команды оболочки и файловой системы: ls, cp и пр...

Это, хранилище образов ядер, а также, загрузчиков: Grub или Lilo и пр...

Здесь обитают файлы, относящиеся к определенным устройствам, подключенных к "ОС". Дело в том, что в операционной системе Linux , любое устройство ассоциируется с конкретным файлом, т.е. будь-то принтер, сканер, жесткий диск и пр., все должно иметь свой собственный файл, что бы получить необходимый доступ к тому или иному устройству.

Это, место хранения файлов конфигурации "ОС", например: параметры сети, пользователи, группы и такие приложения, как Apache, Samba и тд. и тп.

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

/home/ username

Это тоже, домашняя папка, но только пользователя "username". Здесь сохраняются конфигурационные файлы настроек приложений и личная "инфа". Если пользователей много, то каждый имеет свой личный каталог для таких файлов. Есть еще папка суперпользователя "root", находящаяся в корне файловой системы. Такое разграничение директорий, от системных файлов, в разы увеличивает надежность и значительно облегчает процесс резервирования данных.

Сюда сбрасываются файлы, не имеющие ссылок из всех других директорий, не смотря на то, что их "inod" не имел метки "незадействованного". К примеру, вы удаляете файл, как в этот момент происходит обрыв электропитания. В следствие этого, в системе образуется потерявшийся "inod", который имеет пути к файлу, но файл-то отсутствует. Далее, в ext2 (нежурналируемая), "fsck" находит "inod", создает ссылку в lost+found, после чего, можно взглянуть на файл и все нормализовать. В ext3 (журналируемая), "fsck" анализирует журнал и определяет незавершенность операции, производя после этого "откат". Таким образом в журналируемых "ФС" затерявшихся inod(ов) имеется намного меньше.

В этом пространстве сосредоточены системные библиотеки, обеспечивающие работоспособность приложений, находящихся в /bin, /sbin и "ОС" глобально.

Предназначена для авто-монтирования устройств: USB, CD-ROM и т.д. При задействовании любого устройства, оно автоматом подключается в соответствующий каталог данной директории.

Эта директория фактически тоже, что и предыдущая /media, с той лишь разницей, что используетcя ручной тип подключения, а именно, когда выполняется команда "mount".

В этой площадке приживаются установленные приложения с большим размером или дополнительными пакетами, к примеру: /opt/libreoffice.org

Сюда примонтирована "procfs", виртуальная "ФС", с наличием множественной информации, которую можно получить. Допустим, нужно узнать какие модули ядра загружены, это будет файл - /proc/modules или же, получить сведения о процессоре - /proc/cpuinfo

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

В системе имеются специальные программы для различных настроек и администрирования, им ведь тоже, где-то надо "жить".

Специфические параметры системы, в большинстве случаев пустует.

Эта директория получила применение начиная с ядра v_2.6 и в нее примонтируется "sysfs", с информацией о ядре, устройствах и драйверах.

Здесь находятся директории блочных устр-ств, которые имеются в системе в реальное время.

Перечень шин ядра: eisa, pci и тд. и тп.

Перечень группированных устр-ств по классификации: printer, scsi-devices и тд. и тп.

Это собрат папки "Temp" в Windows, для хранения временных файлов. Чтение и запись, доступны всем пользователям.

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

/usr/bin bin2

Местоположение дополнительных приложений для всех учетных записей.

Место обитания "развлекалок", одним словом, игры.

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

/usr/lib lib2

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

В идеале /usr должен иметь статус "общий" и быть смонтирован по сети - /usr/local должен вмещать в себя пакеты приложений на локальном аппарате. Например: /usr - семейный бюджет, /usr/local - личные доходы.

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

Системные приложения дополнительного плана.

Понимание файловой системы Linux, структуры каталогов, размещения конфигурационных, исполняемых и временных файлов поможет вам лучше разбираться в своей системе и стать успешным системным администратором. Файловая система Linux будет непривычна именно для новичка, только что перешедшего с Windows, ведь здесь все совсем по-другому. В отличие от Windows, программа не находится в одной папке, а, как правило, распределена по корневой файловой системе. Это распределение поддается определенным правилам. Вы когда-нибудь задавались вопросом, почему некоторые программы находятся в папке /bin, или /sbin, /usr/sbin, /usr/local/bin, в чем разница между этими каталогами?

Например, программа less, находится в каталоге /usr/bin, но почему не в /sbin или /usr/sbin. А такие программы, как ifconfig или fdisk находятся в каталоге /sbin и нигде иначе.

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

/ - корень

Это главный каталог в системе Linux. По сути, это и есть файловая система Linux. Здесь нет дисков или чего-то подобного, как в Windows. Вместо этого, адреса всех файлов начинаются с корня, а дополнительные разделы, флешки или оптические диски подключаются в папки корневого каталога.

Обратите внимание, что у пользователя root домашний каталог /root, но не сам /.

/bin - (binaries) бинарные файлы пользователя

Этот каталог содержит исполняемые файлы. Здесь расположены программы, которые можно использовать в однопользовательском режиме или режиме восстановления. Одним словом, те утилиты, которые могут использоваться пока еще не подключен каталог /usr/. Это такие общие команды, как cat, ls, tail, ps и т д.

/sbin - (system binaries) системные исполняемые файлы

Так же как и /bin, содержит двоичные исполняемые файлы, которые доступны на ранних этапах загрузки, когда не примонтирован каталог /usr. Но здесь находятся программы, которые можно выполнять только с правами суперпользователя. Это разные утилиты для обслуживания системы. Например, iptables, reboot, fdisk, ifconfig,swapon и т д.

/etc - (etcetera) конфигурационные файлы

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

Кроме конфигурационных файлов, в системе инициализации Init Scripts, здесь находятся скрипты запуска и завершения системных демонов, монтирования файловых систем и автозагрузки программ. Структура каталогов linux в этой папке может быть немного запутанной, но предназначение всех их - настройка и конфигурация.

/dev - (devices) файлы устройств

В Linux все, в том числе внешние устройства являются файлами. Таким образом, все подключенные флешки, клавиатуры, микрофоны, камеры - это просто файлы в каталоге /dev/. Этот каталог содержит не совсем обычную файловую систему. Структура файловой системы Linux и содержащиеся в папке /dev файлы инициализируются при загрузке системы, сервисом udev. Выполняется сканирование всех подключенных устройств и создание для них специальных файлов. Это такие устройства, как: /dev/sda, /dev/sr0, /dev/tty1, /dev/usbmon0 и т д.

/proc - (proccess) информация о процессах

Это тоже необычная файловая система, а подсистема, динамически создаваемая ядром. Здесь содержится вся информация о запущенных процессах в реальном времени. По сути, это псевдофайловая система, содержащая подробную информацию о каждом процессе, его Pid, имя исполняемого файла, параметры запуска, доступ к оперативной памяти и так далее. Также здесь можно найти информацию об использовании системных ресурсов, например, /proc/cpuinfo, /proc/meminfo или /proc/uptime. Кроме файлов в этом каталоге есть большая структура папок linux, из которых можно узнать достаточно много информации о системе.

/var (variable) - Переменные файлы

Название каталога /var говорит само за себя, он должен содержать файлы, которые часто изменяются. Размер этих файлов постоянно увеличивается. Здесь содержатся файлы системных журналов, различные кеши, базы данных и так далее. Дальше рассмотрим назначение каталогов Linux в папке /var/.

/var/log - Файлы логов

/var/lib - базы данных

Еще один тип изменяемых файлов - это файлы баз данных, пакеты, сохраненные пакетным менеджером и т д.

/var/mail - почта

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

/var/spool - принтер

Изначально, эта папка отвечала за очереди печати на принтере и работу набора программ cpus.

/var/lock - файлы блокировок

Здесь находятся файлы блокировок. Эти файлы означают, что определенный ресурс, файл или устройство занят и не может быть использован другим процессом. Apt-get, например, блокирует свою базу данных, чтобы другие программы не могли ее использовать, пока программа с ней работает.

/var/run - PID процессов

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

/tmp (temp) - Временные файлы

В этом каталоге содержатся временные файлы, созданные системой, любыми программами или пользователями. Все пользователи имеют право записи в эту директорию.

Файлы удаляются при каждой перезагрузке. Аналогом Windows является папка Windows\Temp, здесь тоже хранятся все временные файлы.

/usr - (user applications) Программы пользователя

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

/usr/bin/ - Исполняемые файлы

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

/usr/sbin/

Содержит двоичные файлы программ для системного администрирования, которые нужно выполнять с правами суперпользователя. Например, таких как Gparted, sshd, useradd, userdel и т д.

/usr/lib/ - Библиотеки

Содержит библиотеки для программ из /usr/bin или /usr/sbin.

/usr/local - Файлы пользователя

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

/home - Домашняя папка

В этой папке хранятся домашние каталоги всех пользователей. В них они могут хранить свои личные файлы, настройки программ и т д. Например, /home/sergiy и т д. Если сравнивать с Windows, то это ваша папка пользователя на диске C, но в отличии от WIndows, home как правило размещается на отдельном разделе, поэтому при переустановке системы все ваши данные и настройки программ сохранятся.

/boot - Файлы загрузчика

Содержит все файлы, связанные с загрузчиком системы. Это ядро vmlinuz, образ initrd, а также файлы загрузчика, находящие в каталоге /boot/grub.

/lib (library) - Системные библиотеки

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

Библиотеки имеют имена файлов с расширением *.so и начинаются с префикса lib*. Например, libncurses.so.5.7. Папка /lib64 в 64 битных системах содержит 64 битные версии библиотек из /lib. Эту папку можно сравнить с WIndows\system32, там тоже сгружены все библиотеки системы, только там они лежат смешанные с исполняемыми файлами, а здесь все отдельно.

/opt (Optional applications) - Дополнительные программы

В эту папку устанавливаются проприетарные программы, игры или драйвера. Это программы созданные в виде отдельных исполняемых файлов самими производителями. Такие программы устанавливаются в под-каталоги /opt/, они очень похожи на программы Windows, все исполняемые файлы, библиотеки и файлы конфигурации находятся в одной папке.

/mnt (mount) - Монтирование

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

/media - Съемные носители

В этот каталог система монтирует все подключаемые внешние накопители - USB флешки, оптические диски и другие носители информации.

/srv (server) - Сервер

В этом каталоге содержатся файлы серверов и сервисов. Например, могут содержаться файлы веб-сервера apache.

/run - процессы

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

/sys (system) - Информация о системе

Назначение каталогов Linux из этой папки - получение информации о системе непосредственно от ядра. Это еще одна файловая система организуемая ядром и позволяющая просматривать и изменить многие параметры работы системы, например, работу swap, контролировать вентиляторы и многое другое.

У всех, кто начинает пользоваться Linux всегда возникает закономерный вопрос: что означают папки в Linux ? Ведь сильно отличается от файловой структуры Windows. Понятно, что во все папки лазить нет необходимости, но полезно иметь шпаргалку, когда такая потребность возникнет.

Поэтому я нашёл полезным для себя и для других сделать такую шпаргалку - папки Linux . Конечно, эту и другую информацию можно найти на , но лучше иметь свою заметку, так как порой найти нужную информацию в сети бывает не так-то просто. Вот что означают папки в Linux :

  • / - корневая папка в linux, которая формирует базу файловой системы. Все файлы и каталоги linux логически содержfтся внутри корневого каталога независимо от их физического местоположения
  • /bin - папка linux, которая содержит исполняемые программы, которые являются частью операционной системы Linux.
  • /boot - папка linux, которая хранит ядро Linux и другие файлы, необходимые для менеджеров загрузки LILO и GRUB.
  • /dev - папка linux, которая, содержит все файлы устройств. Linux рассматривает каждое устройство в виде специального файла. Все эти файлы находятся в /dev /etc - содержит самые файлы конфигурации системы и инициализации скриптов в /etc/rc.d подкаталог.
    • /dev/null - это специальный каталог, который отбрасывает все данные, записанные на него (но сообщает, что операция записи удалось) и предоставляет никаких данных, чтобы любой процесс, который считывает из него.
  • /home - домашний каталог является родительским для домашних каталогов пользователей.
  • /lib - хранит библиотеку файлов, включая загружаемый драйвер модули, необходимые для загрузки системы.
  • /lost+found - директория для потерянных файлов.
  • /media - справочник для монтажа систем файлов на съемные носители, как CD-ROM дисков.
  • /mnt - каталог для временного смонтированных файловых систем.
  • /opt - дополнительные пакеты программного обеспечения копировать.
  • /proc - специальный каталог в виртуальной файловой системе. Он хранит информацию о различных аспектах системы Linux.
  • /root - домашний каталог суперпользователя.
  • /sbin - папка linux, которая хранит административную двоичные файлы.
  • /srv - папка linux, которая содержит данные за услуги (HTTP, FTP и т.д.), предлагаемые системой.
  • /sys - специальный каталог, который хранит информацию об устройствах, как видно из ядра Linux.
  • /tmp - Временный каталог, который может быть использован в качестве временной директории (для хранения временных файлов) . Содержание этого каталога будут удалены каждый раз при загрузке системы.
  • /usr - папка linux, которая содержит подкаталоги для многих программ, таких как системы X Window.
    • /usr/bin - хранит исполняемые файлы для многих Linux команд. Он не является частью операционной системы.
    • /usr/include - папка linux, которая содержит файлы заголовков для C и C + + языков программирования.
    • /usr/lib - папка linux, которая хранит библиотеки для C и C + + языки программирования.
    • /usr/local - папка linux, которая содержит локальные файлы.
    • /usr/sbin - папка linux, которая хранит административные команды.
    • /usr/share - папка linux, которая содержит файлы, которые являются общими, как, конфигурация по умолчанию, файлы, изображения, документы и т.д.
    • /usr/src - хранит исходный код для Linux ядра.
  • /var - содержит различные файлы системы, такие как журнал, почтовые каталоги, очереди печати и т.д., которые имеют тенденцию к изменению в количестве и размере с течением времени.
    • /var/cache - Складское помещение для кэшированных данных для приложений.
    • /var/lib - папка linux, которая хранит информацию о текущем состоянии приложения.
    • /var/lock - папка linux, которая содержит блокировку файлов, которые проверяются приложений, так что ресурс может быть использована только одна заявка.
    • /var/log - папка linux, которая хранит лог-файлы для различных приложений.
    • /var/mail - папка linux, которая содержит пользователей электронной почты.
    • /var/opt - хранит переменные данные для пакетов.
    • /var/run - содержит данные, описывающие системы, поскольку она была загружена.
    • /var/spool - хранит данные, которые ждут своего рода обработка.
    • /var/tmp - содержит временные файлы, сохраняемые между перезагрузками системы.

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

Файловая система Linux представляет собой четкую структуру каталогов и файлов. В этой статье рассмотрим краткое назначение каждого из каталогов.

Файловые системы Linux содержат множество каталогов, большинство из которых определяются стандартом FHS(Filesystem Hierarchy Standard).

Назваие статьи состоит из терминов "каталог", "директория" и "папка". Рассмотрим их.

Каталог или директория (англ. directory - директория) - объект в файловой системе, упрощающий организацию файлов.

Папка (англ. folder) - этот термин используется для представления каталогов в графическом пользовательском интерфейсе.

Следовательно, все эти термины обозначают одно и тоже. Для удобства будем использовать в данной статье термин каталог, т.к. я считаю его наиболее подходящим (лично мое мнение).

Общая структура файловой системы ОС Linux

В зависимости от используемого дистрибутива Linux, некоторых из представленных каталогов может и не быть, или наоборот, могут присуствовать другие непредставленные тут каталоги. Я попытался собрать и дать описание лишь наиболее часто встречающихся каталогов в ОС Linux.

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

Главный каталог, в нем хранится все, что есть на вашей ОС Linux. Все разделы Linux хранятся в виде другого подкаталога в корневом каталоге /.

/bin - основные бинарные файлы (программы)

Содержит основные двоичные (бинарные) системные программы (модули), утилиты (ls, cp и т.п.) и командные оболочки (bash и т.п.), которые должны обеспечить минимальный уровень работоспособности системы в однопользовательском режиме. Размещение этих файлов в каталоге /bin гарантирует, что в системе эти важные утилиты будут даже в случае, если другие файловые системы не смонтированы.

/boot - файлы для загрузки ОС

Хранятся образы ядер Linux и файлы менеджеров загрузки (grub, lilo и т.д.).

/cdrom – точка монтирования для CD-дисков

Данный каталог не является частью стандарта FHS, содержится в Ubuntu и вышедших из него дистрибутивах. Используется как место для монтируования CD-ROM дисков.

/dev - файлы устройств

В Linux все устройства предоставлены в виде специфических файлов, расположеных в этом каталоге. Например, файл /dev/sda представляет диск SATA. Также в этом каталоге хранятся файлы псевдо-устройств (виртуальных), для этих файлов нет соответствующего реального устройства. Например, файл /dev/random генерирует случайные числа, а файл /dev/null является специальным устройством для удаления всех входных данных.

/etc - конфигурационные файлы

Содержит основные конфигурационные файлы операционной системы и различных программ.

/home - домашние каталоги пользователей

Содержит домашние каталоги пользователей. По идеологии UNIX для обеспечения безопасности ОС рекомендуется хранить пользовательские данные именно в этой директории. Например, если ваше имя пользователя mara, то у вас есть домашний каталог, который находится в /home/mara и содержит пользовательские конфигурационные файлы и личную информацию. Каждый пользователь имеет доступ на запись только в своем домашнем каталоге.

/lib - основные библиотеки

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

/lib64 - 64-битные основные библиотеки

Этот каталог присуствует в основном на 64-битных системах, содержит набор библиотек и компонентов компилятора языка С для 64-битных программ.

/lost+found - восстановленные файлы

Присуствует во всех ОС Linux. При сбое в работе файловой системы и дальнейшей проверке файловой системы (при загрузке ОС), все найденные поврежденные файлы будут помещены в каталоге lost+found, их можно попытаться восстановить.

/media - точка для автоматического монтирования

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

/mnt - точка для ручного монтирования

Используется для временного ручного монтирования (с помощю команды mount) различных устройств, таких как CD-ROM, USB-накопителей и т.д.

/opt - вспомогательные пакеты программ

Находятся подкаталоги для дополнительных пакетов программного обеспечения. Каталог широко используется проприетарным программным обеспечением, которое не подчиняется стандартной иерархии файловых систем.

/proc – файлы ядра и процессов

В эту директорию примонтирована виртуальная файловая система procfs. В ней находятся специальные файлы, в которых представлена информация о системе и о выполняющихся процессах. Например, в файле /proc/cpuinfo собержиться информация о процессоре.

/root - Домашний каталог пользователя root

Домашний каталог пользователя root. Вместо того, чтобы находиться в /home/root, он помещается в /root для большей надёжности системы.

/run – файлы состояния приложений

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

/sbin - бинарные файлы (программы) для администрирования системы

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

/selinux – виртуальная файловая система SELinux

В некоторых дистрибутивах (Red Hat, Fedora и т.п) для обеспечения безопасности используется пакет SELinux (Security-Enhanced Linux), при этом создается каталог с файлами /selinux.

/srv – данные сервисных служб

Этот каталог присуствует не во всех дистрибутивах, содержит "данные для сервисов, предоставляемых системой" (например сервер Apache может хранить файлы вашего сайта в этом каталоге). В большинстве случаев директория пуста.

/sys - виртуальная файловая система sysfs

Этот каталог появился с выходом ядра версии 2.6 и в него примонтирована виртуальная файловая система sysfs с информацией об устройствах, драйверах, ядре ОС и т.п.

Описание вложеных каталогов:

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

/sys/bus - содержит список шин, определенных в ядре Linux (eisa, pci и т.д.).

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

/tmp - временные файлы

Временные файлы, обычно удаляются при перезагрузке системы. Является аналогом C:/Windows/Temp в ОС Windows. Все пользователи имеют права чтения и записи в этом каталоге.

/usr - пользовательские бинарные файлы, используемые только для чтения

В этом каталоге находятся приложения и файлы, используемые только пользователями, а не самой системой.

Описание вложеных каталогов:

/usr/bin - исполняемые файлы для всех учетных записей.

/usr/games - каталог для компьютерных игр в системе.

/usr/include - файлы заголовков, предназначенные для компиляции С-программ.

/usr/lib - системные библиотеки и вспомогательные файлы, расположенные в директории /usr.

/usr/local - в этот каталог устанавливаются приложения, откомпилированные локально, что позволяет им не смешиваться с остальной частью системы.

/usr/local/bin - локальные исполняемые файлы.

/usr/local/etc - локальные системные команды и файлы конфигурации.

/usr/local/lib - локальные вспомогательные файлы.

/usr/local/sbin - локальные служебные системные команды.

/usr/local/src - исходные коды программ каталогов /usr/local/*

/usr/man - страницы интерактивной документации.

/usr/sbin - менее важные команды системного администрирования.

/usr/share - общие данные установленных программ (доступен только для чтения).

/usr/share/man - страницы интерактивной документации.

/usr/share/icons - иконки системы.

/usr/share/doc - справочная документация.

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

/var - каталог для часто меняющихся данных

В этом каталоге находятся журналы операционной системы, системные log-файлы, cache-файлы и т.д.

/var/adm - журнальные файлы, записи об инсталляции системы, административные компоненты.

/var/cache - все кэши для различных программ.

/var/games - файлы с игровыми достижениями.

/var/log - cистемные журнальные файлы (log-файлы).

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

/var/lib - изменяемые программами в процессе работы (например, базы данных, метаданные и др.).

/var/spool - буферные каталоги (например, очереди печати, непрочитанные или не отправленные письма, задачи cron и т.д.).

/var/tmp - каталог для временного хранения файлов.

/var/www - размещаются Web-страницы для сервера Apache.

Посмотреть структуру файловой системы можно используя команду ls -la. Ниже приведен пример вывода команды для дистрибутива OpenSUSE.

# ls -la total 260 drwxr-xr-x 24 root root 4096 Aug 30 2013 . drwxr-xr-x 24 root root 4096 Aug 30 2013 .. drwxr-xr-x 2 root root 4096 Aug 8 2012 .config -rw-r--r-- 1 root root 149519 Aug 30 2013 .readahead drwxr-xr-x 2 root root 4096 Aug 8 2012 bin drwxr-xr-x 3 root root 4096 Aug 8 2012 boot drwxr-xr-x 18 root root 3340 May 16 16:29 dev drwxr-xr-x 122 root root 12288 Jun 27 2013 etc drwxr-xr-x 4 root root 4096 Sep 21 2012 home drwxr-xr-x 16 root root 4096 Aug 23 2012 lib drwxr-xr-x 10 root root 12288 Aug 23 2012 lib64 drwx------ 2 root root 16384 Aug 8 2012 lost+found drwxr-xr-x 2 root root 40 Dec 11 2013 media drwxr-xr-x 2 root root 4096 Oct 25 2011 mnt drwxr-xr-x 3 root root 4096 Aug 23 2012 opt dr-xr-xr-x 194 root root 0 Dec 11 2013 proc drwx------ 31 root root 4096 Jun 10 14:38 root drwxr-xr-x 23 root root 780 Jul 9 17:39 run drwxr-xr-x 3 root root 12288 Aug 8 2012 sbin drwxr-xr-x 2 root root 4096 Oct 25 2011 selinux drwxr-xr-x 6 1004 users 4096 Sep 21 2012 srv drwxr-xr-x 12 root root 0 Dec 11 2013 sys drwxrwxrwt 95 root root 4096 Jul 9 17:39 tmp drwxr-xr-x 13 root root 4096 Nov 10 2011 usr drwxr-xr-x 16 root root 4096 Aug 9 2012 var

Вот и все. Рассмотрение предназначения основных встречающихся каталогов в файловой системы Линукс завершено.