Система 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/.