Система 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
, а графическому файловому менеджеру нужно включить в настройках "показывать скрытые файлы".
Some programs also use multiple configuration files organized in one directory (for instance, ~/.ssh/
). Some applications also use their directory to store a cache of downloaded data. This means that those directories can end up using a lot of disk space.
These configuration files stored directly in a user's home directory, often collectively referred to as dotfiles, have long proliferated to the point that these directories can be quite cluttered with them. Fortunately, an effort led collectively under the FreeDesktop.org umbrella has resulted in the “XDG Base Directory Specification”, a convention that aims at cleaning up these files and directories. This specification states that configuration files should be stored under ~/.config/
, cache files under ~/.cache/
, and application data files under ~/.local/
(or subdirectories thereof). This convention is slowly gaining traction, and several applications (especially graphical ones) have started following it.
На Рабочем столе графических окружений (то есть то, что видно на экране, когда все приложения закрыты или скрыты) обычно отображается содержимое каталога ~/Desktop/
(или каталога, названного соответственно переводу в системах с языками отличных от английского).
Наконец, система электронной почты иногда сохраняет входящие сообщения в каталоге ~/Mail/
.