Выбрать главу

Узнать, какие сервисы установлены у вас в системе, можно воспользовавшись системной утилитой system-config-services (пункт меню Системные параметры→Настройка сервера→Службы) — это в Fedora Core. Кроме того, можно воспользоваться консольной утилитой ntsysv.

1.10. Справочная система

«Родной» для UNIX справочной системой, аналогом Справки Windows, служат страницы интерактивного руководства (manual pages, man-страницы). Ими снабжена практически каждая программа, важный конфигурационный файл или системный вызов. Это обычные текстовые файлы, содержащие сведения о назначении, синтаксисе, опциях команды, формате файла, примеры их применения, имена и URL разработчиков. Обычный дистрибутив содержит тысячи страниц такой документации. Просматривают ее командой man. Например, man man — это вызов справки о самой команде man.

При установке каждого программного пакета включенные в его состав man-страницы копируются в стандартные каталоги, так что программа man легко их находит. В этих каталогах страницы сгруппированы в секции по темам. Перечислим эти секции в порядке просмотра программой man:

1 Команды пользователя

8 Системные команды

2 Системные вызовы

3 Библиотечные вызовы (подпрограммы)

4 Устройства

5 Форматы файлов

6 Игры

7 Разное

9 Ядро (kernel internals)

Так что, если вас интересует справка не о консольной команде exit, а о системном вызове exit(), запрашивайте ее командой man 2 exit.

Чтобы ознакомиться с содержанием раздела, введите команду

man <номер_раздела> intro

Вот несколько самых употребительных команд управления выводом man-справки на экран:

<Ввод> вывод следующей строки текста

<Пробел> вывод следующего экрана текста

<Q> выход из программы

</>образец<Ввод> поиск образца

<N> повторение поиска.

Альтернативой команде man служит гипертекстовая справочная система info. Ссылки обозначены звездочками (*), и перемещает по ним клавиша <Tab>. Чтобы пройти по ссылке, нажмите <Ввод>. Чтобы перейти на следующую или предыдущую страницу, нажмите <N> или <P> соответственно. Чтобы попасть на один уровень иерархии страниц вверх, нажмите <U>. И клавиша <Q> завершает работу с программой info.

Сверхкраткую (одна строка) справку о командах дает команда

whatis <ключевое_слово>

Для работы ей нужна база данных о системных командах, создаваемая программой makewhatis.

Если точного имени команды вы не знаете, но примерно догадываетесь, какие фрагменты слов могут встретиться в ее имени или кратком описании, вам поможет команда apropos, производящая поиск в той же базе по фрагментам слов. Например, отдав команду

$ apropos config

вы получите список команд, имеющих отношение к конфигурированию системы и различных служб.

Команда man с ключом -k тоже умеет выполнять поиск по ключевым словам. Если вы хотите узнать, какие программы имеют отношение к некоторому системному файлу (конфигурационному или журнальному, например, /etc/passwd), введите команду

$ man -k passwd

Вы получите список man-страниц по командам, функциям, формата файлов и т.п., на которых встречается слово «passwd». В общем, поиск информации в справочной системе UNIX очень похож на поиск в Интернете: находите что-то похожее и переходите по ссылкам все ближе к истине.

Есть и команда help: она выводит справку о встроенных командах командной оболочки (о командных оболочках сказано в гл.3).

Наконец, правильно написанные команды понимают ключи --help и --usage, с которыми выдают краткую справку о себе.

К сожалению, многие страницы документации на русский язык пока не переведены. Linux — ОС некоммерческая, и переводом занимаются добровольцы на общественных началах. Может быть, со временем к ним присоединитесь и вы? А пока загляните на

http://www.linuxshare.ru/projеcts/trans/index.html

Глава 2

Файловая система LINUX

2.1. Видимая сторона файловой системы

С точки зрения пользователя, файловая система — это логическая структура каталогов и файлов. В отличие от Windows, где каждый логический диск хранит отдельное дерево каталогов, во всех UNIX-подобных системах эта древовидная структура растет из одного корня: она начинается с корневого каталога, родительского по отношению ко всем остальным, а физические файловые системы разного типа, находящиеся на разных разделах и даже на удаленных машинах, представляются как ветви этого дерева.

2.1.1. Имена файлов и каталогов

Имена файлов и каталогов могут иметь длину до 255 символов. Символы «/» (слэш) и символ с кодом 0 запрещены. Кроме того, ряд символов имеет специальное значение для командного интерпретатора, и их использование не рекомендуется. Это символы:

~ ! @ # $ & % * ( ) [] {} ' " \ : ; > < ` пробел

Если вам все-таки нужно употребить один их этих символов в имени файла, то при указании его имени в команде этот символ нужно экранировать знаком «\» (обратный слэш) или заключать все имя в двойные кавычки. Например, вы хотите вывести на экран командой cat содержимое текстового файла с именем my file, содержащим символ пробела:

$ cat my file # неправильно

cat: my: No such file or directory

cat: file: No such file or directory

$cat "my file" # правильно

Привет!

$cat my\ file # правильно

Привет!

Знак # — это символ комментария для командного интерпретатора bash, о котором подробнее рассказано в главе 8. Командный интерпретатор игнорирует все символы от этого знака до конца введенной строки. Возможность комментировать не слишком полезна при вводе команд с консоли, но неоценима при написании командных сценариев, о которых мы еще будем говорить.

Заметьте, что точки среди специальных символов нет, и имена вроде this.is.а.text.file.containing.the.famous.string.hello.world допустимы и широко распространены. Часто последняя отделенная точкой часть имени используется подобно «расширению имени» в Windows, обозначая файл определенного типа, но это обозначение несет смысл только для человека. Так, человеку имя файла ivan_home.tar.gz подсказывает, что это домашний каталог пользователя ivan, упакованный архиватором tar и сжатый компрессором gzip.

Если имя файла начинается с точки, то этот файл считается скрытым: некоторые команды его «не видят». Например, введя в своем домашнем каталоге команду просмотра содержимого каталога ls с ключом , означающим «показывать скрытые файлы», вы увидите больше файлов, чем введя ту же команду без ключей.