Очень коротко о структуре каталогов в Linux.
Первое, что бросается в глаза при сравнении структуры каталогов Unix-подобной ОС (FreeBSD, Mac OS X, Linux и т. п.) с MS Windows (или, кто помнит, MS DOS) — это одно единое дерево каталогов с единственным корнем. Никаких «букв дисков» (вроде C:\) в начале пути мы никогда не увидим.
Всё всегда начинается с корневого каталога, который обозначают просто наклонной чертой (прямой слеш — а не обратный, как в Windows) — /.
Что же находится в корневом каталоге?
/bin — тут находятся стандартные утилиты Linux (ls, less и т. п.). Этот каталог обычно включен в переменную $PATH, т. е. входит в число каталогов, где командный процессор будет искать команду, введенную в командной строке.
/boot — здесь размещается всё, что связано с начальной загрузкой системы: загрузчик (grub, lilo…), образ ядра и т. п.
/dev — каталог с очень необычным (для привыкших к Windows) содержимым. В Linux всё является файлом. В том числе, и все устройства: диски, виртуальные терминалы и т.д. И вот эти-то «файлы устройств» (devices) мы и можем найти в каталоге /dev. Среди них — «черная дыра» /dev/null, в которую можно отправить, например, ненужные результаты работы какой-либо консольной команды. (Есть и соответствующее сленговое выражение «отправить в /dev/null», означающее «выкинуть за ненадобностью»)
/etc — конфигурационные файлы
/home. У каждого пользователя Linux есть каталог с его файлами (включая персональные настройки приложений). Такой каталог называется коротким именем пользователя (логином) и располагается в /home. Так что /home можно считать примерно соответствующим папке «Documents and Settings» в Windows. Кстати, указать свой домашний каталог пользователь может сокращенно — тильдой. Например, чтобы перейти в папку Music внутри домашнего каталога, можно дать команду cd ~/Music
.
/lib — общие библиотеки и модули ядра.
/media — сюда монтируются съемные носители: компакт-диски, флешки и т.п. У меня сейчас, к примеру, в кардридере вставлена флеш-карта, которая выглядит как каталог /media/SDHC8-01.
/mnt — в этот каталог администратор может временно смонтировать какую-либо файловую систему.
/opt — сюда устанавливаются необязательные (optional) программные пакеты. У меня там, например, Adobe Reader и Google Chrome.
/proc — еще один необычный каталог. Сюда монтируется виртуальная файловая система procfs, хранящая информацию о процессах. Файлы, находящиеся там вполне можно посмотреть 😉 Это обычный текст.
/root — «домашняя папка» суперпользователя root.
/sbin — системные программы. Аналогично каталогу /bin, но для запуска находящихся там программ нужны права суперпользователя. (И программы эти, естественно, нужны исключительно администратору для настройки системы)
/tmp — временные (temporary) файлы, создаваемые программами в процессе работы. Ничего, что должно сохраняться между запусками программ (тем более, между запусками ОС), там быть не должно.
/usr — прикладные программы, библиотеки, документация и многое другое, что не входит в минимальный набор утилит ОС.
Внутри каталога /usr, в свою очередь, находится несколько стандартных подкаталогов. Часть из них аналогична тем, что находятся в корневом каталоге: /usr/bin, /usr/sbin, /usr/etc, /usr/lib. Есть также каталог для стандартных include-файлов /usr/include, каталог для исходных текстов /usr/src, каталог с общими данными /usr/share.
Кроме того, здесь есть каталог /usr/local, структура подкаталогов внутри которого аналогична /usr. Этот каталог предназначен для «локально» установленных файлов. Они не будут затронуты при обновлении операционной системы.
Интересно, что стандартом предусмотрены отдельные от других программ каталоги для игр — /usr/games и /usr/local/games.
/var — «переменные» (variable) данные: кеши, спул печати, протоколы работы и вся остальная служебная информация, которая записывается в процессе использования компьютера.