Литмир - Электронная Библиотека
Содержание  
A
A

Каталог

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

2.7 Файлы устройств

В нашем кратком обзоре мы пропустили каталог

/dev
по той причине, что файлы в нем дают хорошее общее представление о файлах вообще. Как можно догадаться по его названию, этот каталог содержит файлы устройств ("device" — устройство).

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

/dev/mt0
(опять-таки местные соглашения могут различаться). В ядре обращения к этому файлу преобразуются в машинные команды обращения к магнитной ленте, как если бы программа читала
/dev/mt0
, выдавая содержимое магнитной ленты, подключенной к устройству. Например, команда

$ cp /dev/mt0 junk

копирует содержимое магнитной ленты в файл

junk
. Команда
cp
не имеет понятия о специфике файла
/dev/mt0
; для нее он является обычным файлом, т.е. просто последовательностью байтов.

Файлы устройств в чем-то подобны зверинцу, где каждая особь чем-нибудь отличается от остальных, но основные характеристики применимы ко всем. Ниже приведен сокращенный список нашего каталога

/dev
:

$ ls -l /dev

crw--w--w- 1 root  0,  0 Sep 27 23:09 console

crw-r--r-- 1 root  3,  1 Sep 27 14:37 fcmem

crw-r--r-- 1 root  3,  0 May  6  1981 mem

brw-rw-rw- 1 root  1, 64 Aug 24 17:41 mt0

crw-rw-rw- 1 root  3,  2 Sep 28 02:03 null

crw-rw-rw- 1 root  4, 64 Sep  9 15:42 rmt0

brw-r----- 1 root  2,  0 Sep  8 08:07 rp00

brw-r----- 1 root  2,  1 Sep 27 23:09 rp01

crw-r----- 1 root 13,  0 Apr 12  1983 rrp00

crw-r----- 1 root 13,  1 Jul 28 15:18 rrp01

crw-rw-rw- 1 root  2,  0 Jul  5 08:04 tty

crw--w--w- 1 root  1,  0 Sep 28 02:38 tty0

crw--w--w- 1 root  1,  1 Sep 27 23:09 tty1

crw--w--w- 1 root  1,  2 Sep 27 17:33 tty2

crw--w--w- 1 root  1,  3 Sep 27 18:48 tty3

28
{"b":"248117","o":1}