Система man (от англ. manual — руководство) имеется в любой UNIX- системе. Это основное средство получения подробной информации о коман- дах, структуре файлов конфигурации, системным вызовам и прочему. Систе- ма man не рассчитана на обучение, она предоставляет подробное описание команд и конфигурационных файлов.
Для получения помощи необходимо вызвать команду man с аргументом —
именем команды или иного требуемого объекта (пример 3.4).
Пример 3.4. Получение помощи man
$ man ls
В GNU/Linux имеется множество файлов и команд с одинаковыми именами. Как же объяснить man, какая информация нужна? Например, имеется коман- да для изменения пароля пользователя passwd, а учетные записи хранятся в файле /etc/passwd. Поэтому все страницы man разделены на секции, приве- денные в табл. 3.1.
Таблица 3.1. Секции man
Секция
Информация
Описание команды пользователя
Описание системных вызовов ядра
Описание библиотек
Информация о файлах устройств и иных специальных файлах
Форматы конфигурационных файлов
Помощь по играм
Макросы, кодировки, информация для программистов
Команды системного администрирования
Процедуры и функции ядра
Часто используются секции с другими именами, например, n или 1x, соответ- ственно, для команд языка TCL и для пользовательских команд с графиче- ским интерфейсом.
Для указания команде man требуемой секции ее номер вводят в командной строке man, а затем — имя требуемой страницы помощи (пример 3.5).
Пример 3.5. Получение помощи из заданной секции man
$ man 3 zlib
Эта команда выводит информацию из третьей секции man о библиотеке zlib.
Сама по себе система man не занимается отображением страниц помощи на экран. Она находит среди всех страниц помощи нужную, форматирует ее и передает программе постраничного просмотра, используемой в системе по умолчанию. Обычно в GNU/Linux используется less. В табл. 3.2 приведены команды для less.
Таблица 3.2. Команды less
Команда
Действие
<Ctrl>+<N>, <¯>
Следующая строка
<Ctrl>+<P>, <>
Предыдущая строка
<Ctrl>+<V>, <PgDn>
Страница вниз
<Alt>+<V>, <PgUp>
Страница вверх
<Пробел>
Следующая страница
</>строка
Поиск подстроки вниз
<?>строка
Поиск подстроки вверх
<n>
Найти следующее вхождение искомой подстроки
<q>
Выход
Часто необходимо получить помощь о команде или файле, не зная точного названия. В этом случае помогают опция -k команды man или команда apropos. Каждая страница man начинается с обязательного раздела NAME, со- держащего описание объекта поиска. Команда man -k ищет строку, заданную после опции, во всех имеющихся страницах, просматривая раздел NAME (при- мер 3.6).
Пример 3.6. Поиск в man по подстроке
$ man -k clock
CLOG_csync
(4)
- synchronize clocks for adjusting times in
merge
adjtimex
(2)
- tune kernel clock
alarm
(2)
- set an alarm clock for delivery of a signal
clock
(3)
- Determine processor time
clockdiff
(8)
- measure clock difference between hosts
hwclock
(8)
- query and set the hardware clock (RTC)
Тот же самый результат будет получен при выполнении команды apropos clock.
Если необходимо в разделе NAME отыскивать точное вхождение строки, то следует использовать команду man -f (пример 3.7) или же whatis.
Пример 3.7. Поиск в man по ключевому слову
$ man -f clock
clock (3) - Determine processor time
Команда apropos отыскивает подстроку, а команда whatis — слово целиком.