HIER(7) Руководство программиста Linux HIER(7)

ИМЯ

hier - описание иерархии файловой системы

ОПИСАНИЕ

Типичная система Linux имеет, кроме прочих, следующие каталоги:

/
Корневой каталог. С него начинается всё дерево каталогов.
/bin
Каталог, содержащий исполняемые программы, необходимые для работы в однопользовательском режиме и для запуска или ремонта системы.
/boot
Содержит статические файлы загрузчика системы. В этом каталоге содержатся файлы, необходимые только во время загрузки системы. Установщик карты и файлы настройки должны находиться в /sbin и /etc. Ядро операционной системы (например, initrd) должно располагаться в / или /boot.
/dev
Специальные файлы и файлы устройств, ссылающиеся на физические устройства. См. mknod(1).
/etc
Содержит файлы настройки машины. Некоторые большие пакеты программ, например X11, могут иметь свои собственные подкаталоги в /etc. Общесистемные файлы настройки могут быть размещены либо в этом каталоге, либо в /usr/etc. Тем не менее, программы всегда должны искать эти файлы в /etc, и у вас могут быть ссылки на эти файлы в /usr/etc.
/etc/opt
Файлы настройки дополнительных приложений узла, установленных в /opt.
/etc/sgml
Этот каталог содержит файлы настроек SGML (необязательный).
/etc/skel
При создании новой учётной записи пользователя файлы из этого каталога, как правило, копируются в домашний каталог пользователя.
/etc/X11
Файлы настроек оконной системы X11 (необязательный).
/etc/xml
Этот каталог содержит файлы настроек XML (необязательный).
/home
Содержит домашние каталоги пользователей, если они расположены на этой машине. Его структура зависит от администратора системы (необязательный).
/lib
Этот каталог должен содержать разделяемые библиотеки, необходимые для загрузки системы и запуска команд, содержащихся в корневой файловой системе.
/lib<уточнение>
Эти каталоги являются вариантами /lib в системе, которая поддерживает более одного формата двоичных файлов, требующих отдельных библиотек (необязательные).
/lib/modules
Загружаемые модули ядра (необязательный).
/lost+found
В этом каталоге содержатся потерянные элементы файловой системы. Обычно, данные элементы представляют собой куски испорченных файлов в следствии ошибок диска или падений системы.
/media
В этом каталоге содержатся точки монтирования съёмных носителей, таких как диски CD и DVD или устройства памяти USB. В системах, в которых существует более устройства для монтирования определённого типа носителя, каталоги монтирования могут создаваться добавлением к имени цифры, начиная с «0», но неполное имя также должно существовать.
/media/floppy[1-9]
Устройство чтения дискет (необязательный).
/media/cdrom[1-9]
Устройство CD-ROM (необязательный).
/media/cdrecorder[1-9]
Устройство записи CD (необязательный).
/media/zip[1-9]
Устройство Zip (необязательный).
/media/usb[1-9]
Устройство USB (необязательный).
/mnt
Этот каталог является точкой для временного монтирования файловой системы. В некоторых дистрибутивах /mnt содержит подкаталоги, предназначенные для использования в качестве точек временного монтирования нескольких файловых систем.
/opt
Этот каталог содержит дополнительные пакеты со статическими файлами.
/proc
Точка подключения файловой системы proc, предоставляющей пользователю доступ к информации о запущенных процессах и ядре. Это псевдофайловая система, более подробно описанная в proc(5).
/root
Этот каталог является домашним для пользователя root (необязательный).
/sbin
Как и /bin, содержит команды, необходимые для запуска системы, но, как правило, не запускаемые обычными пользователями.
/srv
В каталоге содержится информация, которую обрабатывает данная система.
/sys
Это точка монтирования файловой системы sysfs, предоставляющей информацию о ядре; подобна /proc, но лучше структурирована, следует правилам инфраструктуры kobject.
/tmp
Этот каталог содержит временные файлы, которые можно удалить без всяких проблем в любое время, например, по расписанию или при загрузке системы.
/usr
К этому каталогу обычно монтируется отдельный раздел. В нём должны содержаться общие, предназначенные только для чтения данные, так что он может быть смонтирован несколькими машинами, работающими в Linux.
/usr/X11R6
Система X-Window, версия 11, выпуск 6 (необязательный).
/usr/X11R6/bin
Исполняемые файлы, принадлежащие системе X-Window. Часто на него имеется символьная ссылка из более привычного каталога — /usr/bin/X11.
/usr/X11R6/lib
Файлы данных, относящиеся к системе X-Window.
/usr/X11R6/lib/X11
Содержит различные файлы, необходимые для запуска X. В каталоге /usr/lib/X11 часто имеется символьная ссылка на вышеуказанный каталог.
/usr/X11R6/include/X11
Содержит заголовочные файлы для компиляции программ, использующих систему X11. Часто имеется символьная ссылка на этот каталог в каталоге /usr/include/X11.
/usr/bin
Это основной каталог для исполняемых программ. Большая часть программ, не требующихся при загрузке или для ремонта системы, не устанавливаемых локально и запускаемых обычными пользователями, должна быть помещена в этот каталог.
/usr/bin/mh
Команды для работы с почтовой системой MH (необязательный).
/usr/bin/X11
обычное место для исполняемых файлов X11; в Linux это обычно символьная ссылка на /usr/X11R6/bin.
/usr/dict
Заменён на /usr/share/dict.
/usr/doc
Заменён на /usr/share/doc.
/usr/etc
В этом каталоге можно хранить системные файлы настройки, которые могут использоваться несколькими машинами одновременно. Однако, команды должны искать эти файлы в каталоге /etc. Ссылки из каталога /etc должны указывать на соответствующие файлы в /usr/etc.
/usr/games
Исполняемые файлы игр и обучающих программ (необязательный).
/usr/include
Заголовочные файлы для компилятора C.
/usr/include/bsd
Включаемые файлы для совместимости с BSD (необязательный).
/usr/include/X11
Заголовочные файлы для компилятора C и системы X-Window. Как правило, это символьная ссылка на /usr/X11R6/include/X11.
/usr/include/asm
Заголовочные файлы, определяющие некоторые ассемблерные функции. Это символьная ссылка на /usr/src/linux/include/asm.
/usr/include/linux
Содержит информацию, которая может меняться от выпуска к выпуску. Это символьная ссылка на /usr/src/linux/include/linux для получения информации, предназначенной только для данной системы.
(Заметим, что необходимо иметь заголовочные файлы, корректно работающие с текущей libc и в пространстве пользователя. Однако, исходный код ядра Linux не рассчитан на включение в пользовательскую программу и ничего не знает о работающей libc. Весьма вероятно, что появятся ошибки, если /usr/include/asm и /usr/include/linux будут указывать на произвольное дерево ядра. Системы Debian не делают этого, а используют заголовочные файлы тех версий ядра, которые себя хорошо зарекомендовали. Они поставляются в пакете libc*-dev.)
/usr/include/g++
Заголовочные файлы, используемые с компилятором GNU C++.
/usr/lib
Объектные библиотеки, в том числе и динамические, а также некоторые программы, обычно не запускаемые вручную. Более сложные программы могут иметь в этом каталоге свои подкаталоги.
/usr/lib<уточнение>
Эти каталоги являются вариантами /usr/lib в системе, которая поддерживает более одного формата двоичных файлов, требующих отдельных библиотек, за исключением того, что символьная ссылка /usr/lib<уточнение>/X11 не требуется (необязательные).
/usr/lib/X11
Стандартная область для файлов данных, связанных с программами X, а также для файлов настройки самой X. В Linux это обычно символьная ссылка на /usr/X11R6/lib/X11.
/usr/lib/gcc-lib
Содержит исполняемые и заголовочные файлы для компилятора GNU C, gcc(1).
/usr/lib/groff
Файлы для системы форматирования документов GNU groff.
/usr/lib/uucp
Файлы для uucp(1).
/usr/local
В этот каталог обычно помещаются программы, устанавливаемые локально.
/usr/local/bin
Исполняемые файлы программ, установленных локально.
/usr/local/doc
Локальная документация.
/usr/local/etc
Файлы настройки локально установленных программ.
/usr/local/games
Программы локально установленных игр.
/usr/local/lib
Файлы, связанные с локально установленными программами.
/usr/local/lib<уточнение>
Эти каталоги являются вариантами /usr/local/lib в системе, которая поддерживает более одного формата двоичных файлов, требующих отдельных библиотек (необязательные).
/usr/local/include
Заголовочные файлы для компилятора C, установленного локально.
/usr/local/info
Страницы info, относящиеся к локально установленным программам.
/usr/local/man
Справочные страницы, относящиеся к локально установленным программам.
/usr/local/sbin
Локально установленные программы для системного администрирования.
/usr/local/share
Данные локально установленных приложений, которые могут быть общими между различными архитектурами одной ОС.
/usr/local/src
Исходный код локально установленного ПО.
/usr/man
Заменён на /usr/share/man.
/usr/sbin
В этом каталоге содержатся исполняемые программы для системного администрирования, не относящиеся к процессу загрузки, монтированию /usr или восстановлению системы.
/usr/share
Этот каталог содержит подкаталоги с данными приложений, которые могут быть использованы на различных аппаратных архитектурах в одной и той же ОС. Часто, в нём содержатся данные из /usr/doc, /usr/lib или /usr/man.
/usr/share/dict
Содержит словари для проверки орфографии (необязательный).
/usr/share/dict/words
Список английских слов (необязательный).
/usr/share/doc
Документация на установленные программы (необязательный).
/usr/share/games
Статические данные игр из /usr/games (необязательный).
/usr/share/info
Справочные страницы в формате info (необязательный).
/usr/share/locale
Информация о локали (необязательный).
/usr/share/man
Справочные страницы по разделам в соответствующих подкаталогах.
/usr/share/man/<локаль>/man[1-9]
Эти каталоги содержат исходный код справочных страниц для определённой локали. Системы, в которых используется один язык и кодировочная таблица, не содержат часть <локаль>.
/usr/share/misc
Различные данные, которые могут совместно использоваться для различных архитектур одной ОС.
/usr/share/nls
Каталог сообщений на родном языке (необязательный).
/usr/share/sgml
Файлы для SGML (необязательный).
/usr/share/sgml/docbook
DocBook DTD (необязательный).
/usr/share/sgml/tei
TEI DTD (необязательный).
/usr/share/sgml/html
HTML DTD (необязательный).
/usr/share/sgml/mathtml
MathML DTD (необязательный).
/usr/share/terminfo
Каталог базы данных для terminfo (необязательный).
/usr/share/tmac
Макросы troff, не распространяемые вместе с groff (необязательный).
/usr/share/xml
Файлы для XML (необязательный).
/usr/share/xml/docbook
DocBook DTD (необязательный).
/usr/share/xml/xhtml
XHTML DTD (необязательный).
/usr/share/xml/mathml
MathML DTD (необязательный).
/usr/share/zoneinfo
Файлы с информацией о часовых поясах (необязательный).
/usr/src
Файлы с исходным кодом различных частей системы, которые входят в состав различных пакетов. Не используйте этот каталог для работы над своими проектами, так как файлы в подкаталогах /usr предназначены только для чтения, кроме случаев установки программного обеспечения (необязательный).
/usr/src/linux
Этот каталог всегда был традиционным местоположением файлов с исходным кодом ядра. Многие дистрибутивы размещают тут исходный код используемого в системе ядра. Для сборки ядра рекомендуется использовать другой каталог.
/usr/tmp
Устарел. Должен быть ссылкой на /var/tmp. Эта ссылка оставлена только для совместимости, её не следует использовать.
/var
Каталог, содержащий файлы, размер которых может меняться, например файлы очередей и журнала.
/var/account
Журналы учёта процессов (необязательный).
/var/adm
Вместо этого каталога используется /var/log и он должен быть символьной ссылкой на /var/log.
/var/backups
Этот каталог зарезервирован по историческим причинам.
/var/cache
Кэшированные данные программ.
/var/cache/fonts
Шрифты, сгенерированные локально (необязательный).
/var/cache/man
Справочные страницы (man), сгенерированные локально (необязательный).
/var/cache/www
Данные кэша или прокси WWW (необязательный).
/var/cache/<пакет>
Кэш данных определённого пакета (необязательный).
/var/catman/cat[1-9] или /var/cache/man/cat[1-9]
Эти каталоги содержат предварительно отформатированные справочные страницы в соответствии с их разделами (категорически запрещается использовать их в работе).
/var/crash
Дампы падений системы (необязательный).
/var/cron
Этот каталог зарезервирован по историческим причинам.
/var/games
Изменяемые данные игр (необязательный).
/var/lib
Изменяемая информация о состоянии программ.
/var/lib/hwclock
Каталог состояния hwclock (необязательный).
/var/lib/misc
Данные о различных состояниях.
/var/lib/xdm
Изменяемые данные менеджера экрана X (необязательный).
/var/lib/<editor>
Состояние и резервные копии файлов редактора (необязательный).
/var/lib/<имя>
Эти каталоги должны использоваться для поддержки распространения в пакетном виде.
/var/lib/<пакет>
Данные состояния пакетов и подсистем (необязательный).
/var/lib/<pkgtool>
Файлы поддержки пакетирования (необязательный).
/var/local
Изменяемые данные программами из /usr/local.
/var/lock
В этом каталоге содержатся файлы блокировки. Соглашения об именах файлов, блокирующих устройства, следующие: LCK..<устройство>, где устройство — имя устройства в файловой системе. Используется формат файлов блокировки HDU UUCP, то есть файлы блокировки содержат PID в виде 10-байтного десятичного числа ASCII; после этого числа стоит символ новой строки.
/var/log
Различные файлы журналов.
/var/opt
Изменяемые данные программами из /opt.
/var/mail
Почтовые ящики пользователей. Заменяет /var/spool/mail.
/var/msgs
Этот каталог зарезервирован по историческим причинам.
/var/preserve
Этот каталог зарезервирован по историческим причинам.
/var/run
Временные файлы, создаваемые во время работы. В них содержатся идентификаторы процессов (PID) и журнал регистрации пользователей utmp. Файлы из этого каталога обычно удаляются в процессе загрузки системы.
/var/spool
Файлы, поставленные в очередь различными программами.
/var/spool/at
Очередь заданий at(1).
/var/spool/cron
Очередь заданий cron(8).
/var/spool/lpd
Файлы, отправленные в очередь для печати (необязательный).
/var/spool/lpd/printer
Очередь печати определённого принтера (необязательный).
/var/spool/mail
Заменён на /var/mail.
/var/spool/mqueue
Очередь исходящей почты (необязательный).
/var/spool/news
Каталог хранения новостей (необязательный).
/var/spool/rwho
Хранящиеся файлы для rwhod(8) (необязательный).
/var/spool/smail
Хранящиеся файлы для программы доставки почты smail(1).
/var/spool/uucp
Хранящиеся файлы для uucp(1) (необязательный).
/var/tmp
Как и /tmp, этот каталог содержит временные файлы, но которые могут храниться неопределённое время.
/var/yp
Файлы баз данных NIS, ранее называвшийся Sun Yellow Pages (YP).

СООТВЕТСТВИЕ СТАНДАРТАМ

Стандарт иерархии файловой системы, версия 2.3 http://www.pathname.com/fhs/.

ДЕФЕКТЫ

Этот список далеко не полон; разные системы могут быть настроены различным образом.

СМОТРИТЕ ТАКЖЕ

find(1), ln(1), proc(5), file-hierarchy(7), mount(8)

Стандарт иерархической файловой системы

2017-11-26 Linux