2.6 Иерархия каталогов

2.6 Иерархия каталогов

В первой главе рассмотрение иерархии файловой системы, начиная с каталога /usr/you, носило несколько неформальный характер. Теперь мы хотим изучить ее последовательно, начиная от корня дерева.

Корневой каталог называется /:

$ ls /

bin

boot

dev

etc

lib

tmp

unix

usr

$

Программа /unix — это программа ядра UNIX: когда система начинает работу, /unix считывается с диска в память и начинает выполняться. Все происходит за два шага: вначале считывается файл /boot, а затем он считывает /unix. Более подробно о таком процессе раскрутки можно узнать в справочном руководстве по boot(8). Остальные файлы каталога /, по крайней мере в нашей версии, являются каталогами, каждый из которых представляет законченный раздел файловой системы. После дальнейшего краткого обзора иерархии читателю будет предоставлена возможность поэкспериментировать с упоминаемыми здесь каталогами. Чем лучше вы разберетесь в устройстве файловой системы, тем более эффективно сможете ею пользоваться. В табл. 2.1 указаны подходящие места для поиска, хотя некоторые имена каталогов зависят от системы.

/ Корень файловой системы /bin Основные программы, готовые к выполнению (двоичные) /dev Файлы устройств /etc "Разное" системы /etc/motd Сегодняшнее сообщение при входе в систему /etc/passwd Файл паролей /lib Основные библиотеки и т.п. /tmp Временные файлы; обновляется при запуске системы /unix Операционная система в форме, готовой к выполнению /usr Файловая система пользователей /usr/adm Системная служба: справочная информация и т.п. /usr/bin Команды для пользователей: troff и т.п. /usr/games Игровые программы /usr/include Файлы определений Си-программ, например math.h /usr/include/sys Системные файлы определений Си-программ, например inode.h /usr/lib Библиотеки для Си, Фортрана и т.п. /usr/man Диалоговое справочное руководство /usr/man/man1 Страницы справочного руководства раздела 1 /usr/mdec Диагностика ошибок аппаратуры, программы раскрутки и т.п. /usr/news Служба сообщений пользователей /usr/pub "Всякая всячина": см. ascii(7) и eqnchar(7) /usr/src Исходные тексты служебных функций и библиотек /usr/src/cmd Исходные тексты команд из /bin и /usr/bin /usr/src/lib Исходные тексты библиотечных функций /usr/spool Рабочий каталог для взаимодействующих программ /usr/spool/lpd Временный каталог для печатающего устройства /usr/spool/mail Почтовые ящики /usr/spool/uucp Рабочий каталог программ uucp /usr/sys Исходный текст ядра операционной системы /usr/tmp Альтернативный временный каталог (редко используется) /usr/you Ваш начальный каталог /usr/you/bin Ваши собственные программы

Таблица 2.1: Интересные каталоги (см. также hier(7))

Каталог /bin вам уже известен: в нем находятся основные программы типа who или ed.

Каталог /dev (device — устройства) мы обсудим в следующем разделе.

Каталог /etc (et cetera — и т.д.) также уже вам встречался ранее. В нем находится различная служебная информация, например файл паролей, и некоторые системные программы, такие, как /etc/getty, которая инициирует связь с терминалом для команды /bin/login, /etc/rc — это файл команд, выполняющихся после раскрутки системы. В файле /etc/group содержатся сведения о составе всех групп.

Каталог /lib (library — библиотека) включает основные части компилятора языка Си, такие, как /lib/cpp — препроцессор Си, /lib/libc.a — библиотека стандартных функций Си.

Каталог /tmp (temporaries — временное) представляет собой хранилище для временных файлов, создаваемых при выполнении программы.

Например, когда вы вызываете редактор, он создает файл с именем типа /tmp/e00512, что позволяет иметь свою копию редактируемого файла, а не работать с оригиналом. Редактор мог бы, конечно, создать копию в вашем текущем каталоге, но есть причина для преимущественного использования /tmp: хотя это и маловероятно, в вашем каталоге уже мог присутствовать файл e00512. Далее каталог /tmp автоматически очищается при запуске системы, так что в случае системной аварии в вашем каталоге не появится ненужный файл. Часто каталог /tmp организуется на диске для обеспечения быстрого доступа к нему. Однако здесь возникает проблема: если сразу несколько программ создают файлы в каталоге /tmp, их файлы могут перепутаться. Именно поэтому редактор ed выбирает особое имя; оно построено таким образом, чтобы никакая другая программа не могла выбрать то же имя для временного файла. В гл. 5 и 6 будет показан способ достижения этого.

Каталог /usr называется файловой системой пользователей, хотя он может быть мало связан с файлами настоящих пользователей системы. На своей машине мы используем исходные каталоги /usr/bwk и /usr/rob, но у вас часть иерархии, начинающаяся с /usr, может быть другой. Независимо от того, находятся ли ваши файлы в каталоге, вложенном в /usr, вы всегда найдете в нем что-нибудь интересное (если нет местной специфики). Так же, как и в каталоге /, здесь есть каталоги с именами /usr/bin, /usr/lib и /usr/tmp. Эти каталоги имеют назначение, сходное со своими тезками в каталоге /, но содержат программы, менее критичные для системы. Например, программа nroff обычно находится в /usr/bin, а не в /bin, библиотеки компилятора с Фортрана располагаются в /usr/lib. Правда, "критичными" для разных систем считаются разные программы. Некоторые системы, такие, как широко распространенная седьмая версия, все программы хранят в /bin, не имея дела с /usr/bin. В других системах каталог /usr/bin разбивается на два каталога в зависимости от частоты использования.

Кроме того, в /usr есть каталог /usr/adm со справочной информацией и /usr/dict, содержащий небольшой словарь (см. spell(1)). Диалоговое справочное руководство хранится в /usr/man (см. в качестве примера /usr/man/man1/spell.1). Если в вашей системе имеются исходные тексты, вы, вероятно, найдете их в /usr/src.

Вероятно, целесообразно потратить немного времени на исследование файловой системы, особенно каталога /usr, чтобы вам было понятно, как она устроена и где что можно найти.

Данный текст является ознакомительным фрагментом.