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, чтобы вам было понятно, как она устроена и где что можно найти.

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



Поделитесь на страничке

Похожие главы из других книг:

17.2 Иерархия групп новостей Интернета

Из книги автора

17.2 Иерархия групп новостей Интернета Уже созданы тысячи групп новостей Интернета. Каждая из них имеет имя, отражающее тематику группы. Имена групп организованы в древовидную структуру (см. рис. 17.1). Рис. 17.1. Иерархия групп новостейВ отличие от других иерархических имен, с


18.4 Иерархия меню Gopher

Из книги автора

18.4 Иерархия меню Gopher Меню gopher организовано в виде иерархического дерева. Пункт меню может указывать на следующее меню, которое, возможно, размещается на совершенно другом сайте. Листьями дерева меню являются документы и приложения.Далее будет видно, что меню gopher реально


9.2.1. Иерархия процессов: ps и pstree

Из книги автора

9.2.1. Иерархия процессов: ps и pstree О том, что команда ps позволяет просмотреть сведения обо всех процессах, протекающих в системе в данный момент, вы уже знаете (п.3.2). С ключом -f эта команда выводит как PID самого процесса, так и PPID его родителя, то есть по ее выводу можно


23.4.8. Иерархия виджитов

Из книги автора

23.4.8. Иерархия виджитов GtkObject+GtkWidget| +GtkMisc| | +GtkLabel| | | +GtkAccelLabel| | | `GtkTipsQuery| | +GtkArrow| | +GtkImage| | `GtkPixmap| +GtkContainer| | +GtkBin| | | +GtkAlignment| | | +GtkFrame| | | | `GtkAspectFrame| | | +GtkButton| | | | +GtkToggleButton| | | | | `GtkCheckButton| | | | | `GtkRadioButton| | | | `GtkOptionMenu| | | +GtkItem| | | | +GtkMenuItem| | | | | +GtkCheckMenuItem| | | | | | `GtkRadioMenuItem| | | | | `GtkTearoffMenuItem| | | | +GtkListItem|


Иерархия компонентов в IBX

Из книги автора

Иерархия компонентов в IBX Поскольку вы работаете с Delphi (или с C++ Builder), то предполагается, что вы знакомы с объектно-ориентированным программированием Таким образом, разобравшись, как именно и от кого унаследованы различные компоненты IBX, можно будет более полно


Иерархия объектов в InterBase

Из книги автора

Иерархия объектов в InterBase Чтбы более четко представлять себе, что такое объекты базы данных, мы попробуем построить иерархию объектов базы данных, исходя из принципа "кто кого содержит". Первыми нужно включить в нашу иерархию физические страницы файлов базы данных, как


Иерархия VBA

Из книги автора

Иерархия VBA Теперь, после знакомства с приведенным выше примером программы, вам легче будет понять следующие определения и описания строительных блоков программного кода VBA.* Оператор - это наименьшая, способная выполняться единица VBA-кода. Оператор может объявлять или


4.2.1. Иерархия класса геометрии

Из книги автора

4.2.1. Иерархия класса геометрии Классы геометрии определяют свою иерархию следующим образом:Geometry (non-instantiable)Point (instantiable)Curve (non-instantiable)LineString (instantiable)LineLinearRingSurface (non-instantiable)Polygon (instantiable)GeometryCollection (instantiable)MultiPoint (instantiable)MultiCurve (non-instantiable)MultiLineString (instantiable)MultiSurface (non-instantiable)MultiPolygon


17.4.3. Альтернативная иерархия классов

Из книги автора

17.4.3. Альтернативная иерархия классов Хотя наша иерархия классов Query представляется вполне приемлемой, она вовсе не является единственно возможной. Например, AndQuery и OrQuery связаны с бинарной операцией, поэтому они в какой-то степени дублируют друг друга. Можно вынести все


1.7. Иерархия файлов

Из книги автора

1.7. Иерархия файлов Вся информация, хранящаяся на жестком диске вашего Мака, упорядочена иерархическим способом. Иерархическая организация является многоуровневой, при которой каждый новый уровень следует из предыдущего от высшего к низшему. На самом первом (верхнем)


Открытая или частная иерархия

Из книги автора

Открытая или частная иерархия Ключевой концепцией для понимания того, следует ли организации выбирать инсорсинг или аутсорсинг, является идея открытых и частных иерархий [105]. Открытыми называют иерархии, подчиненные корневому УЦ, открытый ключ которого встроен в