-
/bin
bin
- это сокращенно от ``binaries'' (т.е. двоичные или выполняемые файлы).
Здесь находится много важных системных программ. Используйте команду ``ls
-F/bin'' чтобы посмотреть имеющийся здесь список файлов. Вы можете
обнаружить здесь уже знакомые вам команды, вроде cp, ls
и mv. Это и есть программы соответствующих команд. Когда, например,
вы используете команду cp, вы выполняете программу /bin/cp.
Используя ls
-F, вы увидите, что большинство (если не все) файлов в /bin
имеют справа от имени звездочку (``*''). Это говорит о том, что
файлы выполняемые, как описано в Разделе 3.3.2.
-
/dev
Следующая
остановка на нашем пути - dev. Вновь посмотрите на содержимое
с помощью ls -F.
"Файлы" в /dev
известны как драйверы устройств - они используются для доступа к
устройствам и ресурсам системы, таким как диски, модемы, память и т.д.
Например, как вы можете читать данные из файла, точно также вы можете читать
входные сигналы от мыши, имея доступ к /dev/mouse. Имена файлов,
начинающиеся на fd - это дисководы гибких дисков. fd0
- первый дисковод, fd1 - второй. Теперь самые шустрые из вас заметят,
что здесь имеется больше дисководов, чем те два, которые мною упоминались:
они представляют специфические типы дисководов. Например, fd1H1440
представляет доступ к high-density, 3.5" дискетам на дисководе 1.
Вот перечень
некоторых из наиболее используемых файлов устройств.
-
/dev/console/
относится к системной консоли, т.е. к монитору, напрямую связанному с системой.
-
Различные /dev/ttyS
и /dev/cua устройства используются для доступа к последовательным
портам. Например, /dev/ttyS0 относится к ``COM1'' под MS-DOS.
Устройства /dev/cua относятся к "звонящим" (``callout'') устройствам,
которые используются совместно с модемами.
-
Устройства, имена
которых начинаются с hd, имеют доступ к жестким дискам. /dev/hda
относится ко всему первому жесткому диску, а hda1 только
к первому разделу /dev/hda.
-
Устройства с именами,
начинающимися на sd - SCSI-драйверы. Если у вас SCSI жесткий диск,
вместо доступа к нему через /dev/hda, вы будете обращаться к /dev/sda.
SCSI ленты доступны через устройства st, а SCSI CD-ROM через sr.
-
Устройства lp
обеспечивают доступ к параллельным портам. /dev/lp0 относится
к ``LPT1'' в MS-DOS.
-
/dev/null
используется как "черная дыра" - любые данные, посланные сюда, канут в
Лету. Если вы хотите подавить вывод команды на экран, вы можете перенаправить
этот вывод в /dev/null. Мы об этом позже еще поговорим.
-
Устройства с именами
/dev/tty относятся к "виртуальным консолям" вашей системы (доступ
путем нажатия alt-F1, alt-F2 и т.д.). /dev/tty1
соответствует первой VC, /dev/tty2 соответствует второй и т.д.
-
Устройства, чьи
имена начинаются на /dev/pty, это "псевдотерминалы". Они используются
для входа с удаленных "терминалов". Например, если ваша машина в сети,
вход к вам по telnet будет использовать одно из устройств /dev/pty.
-
/etc
/etc
содержит множество всевозможных системных файлов конфигурации. Они включают
/etc/passwd (файл паролей), /etc/rc (командный файл инициализации)
и т.д.
-
/sbin
/sbin
используется для хранения важных системных двоичных файлов, используемых
системным администратором.
-
/home
home
содержит домашние каталоги пользователей. Например, /home/larry
- домашний каталог пользователя ``larry''. На вновь инсталлированной
системе этот каталог может быть пуст в связи с временным отсутствием зарегистрированных
пользователей.
-
/lib
/lib
содержит образы разделяемых библиотек (shared library images).
Эти файлы содержат код, который могут использовать многие программы. Вместо
того, чтобы каждая программа имела свою собственную копию этих выполняемых
файлов, они хранятся в одном общедоступном месте - в /lib. Это
позволяет сделать выполняемые файлы меньше и сэкономит место в системе.
-
/proc
/proc
- это "виртуальная файловая система", в которой файлы хранятся в памяти,
а не на диске. Они связаны с различными процессами, происходящими
в системе, и позволяют получить информацию о том, что делают программы
и процессы в указанное время. Более детально мы рассмотрим это в Разделе
3.11.1.
-
/tmp
Многие программы
нуждаются в создании рабочих файлов, которые нужны короткое время. Каноническое
место для этих файлов в /tmp (там обычно чаще проводится уборка
мусора).
-
/usr
/usr
- это очень важный каталог. Он состоит из ряда подкаталогов, которые в
свою очередь содержат наиболее важные и полезные программы и файлы конфигурации,
используемые системой.
Различные каталоги,
описанные выше, необходимы для нормального функционирования системы, но
большинство вещей, содержащихся в /usr необязательны для системы.
Но это такие необязательные вещи, которые делают систему полезной и интересной.
Без /usr вы бы имели достаточно занудную систему, содержащую только
программы, вроде cp и ls. /usr содержит много
больших программных пакетов и конфигурационных файлов, которые их сопровождают.
-
/usr/X386
/usr/X386
содержит The X Window System, если вы ее инсталлировали. The X Window System
- это мощная графическая среда, которая содержит большое количество графических
утилит и программ, отображающих "окна" на вашем экране. Если вы знакомы
с Microsoft Windows или Macintosh environments, то X Windows будет выглядеть
весьма похоже. Каталог /usr/X386 содержит все выполняемые и конфигурационные
файлы X Window, а также файлы поддержки. Более детально это будет обсуждаться
в Разделе 5.1.
-
/usr/bin
/usr/bin
настоящее хранилище для различных программ UNIX. Он содержит большинство
выполняемых программ, которых нет ни в каких других местах, например, в
том же /bin их нет.
-
/usr/etc
Точно также,
как и /etc, содержит всевозможные системные программы и конфигурационные
файлы. /usr/etc содержит даже больше утилит и файлов. В общем,
файлы, находящиеся в /usr/etc несущественны для системы, в отличие
от тех, которые находятся в /etc, и очень существенны.
-
/usr/include
/usr/include
содержит include-файлы для компилятора Си. Эти файлы (большинство
имен которых заканчивается на .h (от слова ``header'') объявляют имена
структур данных, подпрограмм и констант, используемых при написании программ
на Си. Те файлы, которые находятся в /usr/include/sys в общем
случае используются при программировании на системном уровне UNIX. Если
вы знакомы с языком программирования Си, здесь вы найдете такие хэдеры
(фрагменты программ, вставляемые обычно в начало программы), stdio.h,
которые описывают такие функции, как printf().
-
/usr/g++-include
/usr/g++-include
содержит include-файлы для компилятора Cи++ (очень похожие на /usr/include).
-
/usr/lib
/usr/lib
содержит библиотеки-"заглушки" и "статические" библиотеки, эквивалентные
файлам из /lib. При компиляции программа "связывается" с библиотеками,
находящимися в /usr/lib, которые в свою очередь направляют программы
обращаться в /lib, если им нужен актуальный код. Кроме того, многие
другие программы хранят в /usr/lib свои конфигурационные файлы.
-
/usr/local
/usr/local
в большой степени похож на /usr - он содержит различные программы
и файлы, несущественные для системы, но превращающие ее в удовольствие
и восторг. В общем, эти программы, находящиеся в /usr/local специализируются
на специфике вашей системы, т.е. /usr/local сильно отличается
в различных UNIX. Здесь вы найдете такие большие программные пакеты, как
TeX (система форматирования документов) и Emacs (большой и мощный редактор),
если вы их установите.
-
/usr/man
Этот каталог
содержит страницы Руководства. Здесь два подкаталога для каждого "раздела"
Руководства. (С помощью команды "man man" вы можете получить более подробную
информацию). Например, /usr/man/man1 содержит исходные тексты
(неотформатированный оригинал) страниц Руководства в разделе 1 и /usr/man/cat1
содержит отформатированные страницы для раздела 1.
-
/usr/src
/usr/src
содержит исходные коды (неоткомпилированные программы) для различных программ
вашей системы. Наиболее важная вещь здесь, это /usr/src/linux,
содержащий исходные коды ядра Linux.
-
/var
/var
содержит каталоги, которые часто меняются в размере или имеют тенденцию
быстро расти. Многие из этих каталогов "квартировались" в /usr,
но поскольку мы стремимся сделать его достаточно стабильным, каталоги,
которые часто меняются были перенесены в /var. К числу таких каталогов
относятся:
-
/var/adm
/var/adm
содержит различные файлы, интересные системному администратору, специфические
системные файлы, фиксирующие ошибки и проблемы, возникающие в системе.
Другие файлы фиксируют входы в систему, как и неудачные попытки войти.
Это будет обсуждаться в Главе 4.
-
/var/spool
/var/spool
содержит файлы, которые предварительно формируются для других программ.
Например, если ваша машина подключена к сети, входная почта будет помещаться
в /var/spool/mail до тех пор, пока вы не прочитаете ее или не
удалите. Входящие и исходящие новости помещаются в /var/spool/news
и т.д.