Система Debian организована по Стандарту иерархии файловой системы (FHS от англ. Filesystem Hierarchy Standard). Этот стандарт определяет назначение каждого каталога. Например, каталоги верхнего уровня описываются следующим образом:
/bin/
: основные программы;
/boot/
: ядро Linux и другие файлы, необходимые для его своевременного процесса загрузки;
/dev/
: файлы устройств;
/etc/
: конфигурационные файлы;
/home/
: личные файлы пользователей;
/lib/
: основные библиотеки;
/media/*
: точки монтирования съемных устройств (CD-ROM, USB ключей и так далее);
/mnt/
: временные точки монтирования;
/opt/
: дополнительные приложения, поставляемые третьими сторонами;
/root/
: личные файлы администратора (root);
/run/
: непостоянные данные среды выполнения, которые не сохраняются после перезагрузки;
/sbin/
: системные программы;
/srv/
: данные, используемые серверами, размещенными в этой системе;
/tmp/
: временные файлы; часто этот каталог очищается при загрузке;
/usr/
: приложения; этот каталог далее подразделяется на bin
, sbin
, lib
(согласно той же логике,что и в корневом каталоге). Кроме того, /usr/share/
содержит архитектурно независимые данные. /usr/local/
предназначен для использования администратором при установке приложения вручную без перезаписи файлов, обрабатываемых системой управления пакетами (dpkg
).
/var/
: переменные данные, обрабатываемые демонами. Включает в себя файлы логов, очередей, буфера, кэша и так далее.
Учтите, что большинство современных дистрибутивов, включая Debian, используют /bin
, /sbin
and /lib
как символические ссылки на соответствующие директории внутри /usr
, таким образом все программы и библиотеки доступны по одному пути. Это упрощает защиту целостности системных файлов, а также использование этих системных файлов несколькими контейнерами и т.д.
B.2.2. Домашний Каталог Пользователя
Содержимое домашнего каталога пользователя не стандартизировано, однако имеет несколько заслуживающих внимания соглашений. Одно из них: домашний каталог пользователя часто называют тильдой (“~”). Это полезно знать, потому что интерпретатор команд автоматически заменяет тильду в текущей директории (обычно на /home/имя пользователя/
).
Традиционно, конфигурационные файлы приложения хранятся непосредственно в домашнем каталоге пользователя,но их имена обычно начинаются с точки (например, почтовый клиент mutt
хранит свои настройки в ~/.muttrc
). Обратите внимание, что имена, начинающиеся с точки, скрыты по умолчанию; и ls
показывает их только, когда используется с опцией -a
, а графическому файловому менеджеру нужно включить в настройках "показывать скрытые файлы".
Некоторые программы также используют несколько файлов конфигурации, организованных в одном каталоге (например, ~/.ssh/
). Некоторые приложения также используют свой каталог для хранения кэша загруженных данных. Это означает, что эти каталоги могут в конечном итоге использовать много дискового пространства.
Эти конфигурационные файлы, хранящиеся непосредственно в домашнем каталоге пользователя, часто в совокупности называемые dotfiles, уже давно распространились до такой степени, что домашний каталог может быть захламлён ими. К счастью, усилие, проведенное коллективно под предводительством FreeDesktop.org, привело к “XDG Base Directory Specification”, конвенции, которая направлена на очистку этих файлов и каталогов. Эта спецификация гласит, что файлы конфигурации должны храниться в ~/.config/
, кэш-файлах в ~/.cache/
и файлах данных приложений в ~/.local/
(или их подкаталогах). Эта конвенция набирает обороты, и многие приложения (особенно графические) следуют ей.
На Рабочем столе графических окружений (то есть то, что видно на экране, когда все приложения закрыты или скрыты) обычно отображается содержимое каталога ~/Desktop/
(или каталога, названного соответственно переводу в системах с языками отличных от английского).
Наконец, система электронной почты иногда сохраняет входящие сообщения в каталоге ~/Mail/
.