Больше всего полезной информации содержится в страницах руководства (manpages), для краткости мы будем называть их просто ”руководство”. Каждая страница посвящена какому-нибудь одному объекту системы. Для того чтобы посмотреть страницу руководства, нужно дать команду системе man
объект:
[ivan@localhost ivan]$ man cal
CAL(1) BSD General Commands Manual CAL(1)
NAME
cal - displays a calendar
SYNOPSIS
cal [-smjy13] [[month] year]
DESCRIPTION
Cal displays a simple calendar. If arguments
are not specified, the current month is
displayed.
The options are as follows:
. . .
Страница руководства занимает, как правило, больше одной страницы экрана. Для того чтобы читать было удобнее, man запускает программу постраничного просмотра текстов - less. Управлять программой less просто: страницы перелистываются пробелом, а когда читать надоест, надо нажать q
(Quit). Перелистывать страницы можно и клавишами Page Up
/Page Down
, для сдвига на одну строку вперед можно применять Enter
или стрелку вниз
, а на одну строку назад - стрелку вверх
. Переход на начало и конец текста выполняется по командам g
и G
соответственно (Go). Полный список того, что можно делать с текстом в less, выводится по команде H
(Help).
Страница руководства состоит из полей - стандартных разделов, с разных сторон описывающих заинтересовавший Ивана объект - команду cal
. В поле NAME содержится краткое описание объекта (такое, чтобы его назначение было понятно с первого взгляда). В поле SYNOPSIS дается формализованное описание способов использования объекта (в данном случае - того, как и с какими параметрами запускать команду cal
). Как правило, в квадратные скобки в этом поле заключены необязательные параметры команды, которые можно ей передать, а можно и опустить. Например, строка ”[[month] year]” означает, что в этом месте командной строки параметров у команды может не быть вообще, может быть указан год или пара - месяц и год. Наконец, текст в поле DESCRIPTION - это развернутое описание объекта, достаточное для того, чтобы им воспользоваться.
Одно из самых важных полей руководства находится в конце текста. Если в процессе чтения NAME или DESCRIPTION пользователь понимает, что не нашел в руководстве того, что искал, он может захотеть посмотреть, а есть ли другие руководства или иные источники информации по той же теме. Список таких источников содержится в поле SEE ALSO:
[ivan@localhost ivan]$ man man
. . .
SEE ALSO
apropos(1), whatis(1), less(1), groff(1), man.conf(5).
. . .
До этого поля Иван добрался с помощью уже известной команды G
. Не то чтобы ему неинтересно было читать руководство по man, скорее наоборот: им двигала любознательность. В поле SEE ALSO обнаружились ссылки на руководства по less, groff (программе форматирования страницы руководства ), структуре конфигурационного файла для man, а также по двум сопутствующим командам с такими говорящими названиями ”Apropos” и ”whatis”, что Иван немедленно применяет одну команду к имени другой, даже не заглядывая в документацию. Так ни в коем случае не следует делать! А что если запущенная программа начнет с того, что сотрет все файлы в Вашем каталоге?
[ivan@localhost ivan]$ whatis apropos
apropos (1) - search the whatis database for strings
[ivan@localhost ivan]$ man apropos
apropos(1) apropos(1)
NAME
apropos - search the whatis database for strings
. . .
На этот раз Ивану повезло: команда whatis
не делает ничего разрушительного. Как и команда apropos
, whatis
ищет подстроку в некоторой базе данных, состоящей из полей NAME всех страниц помощи в системе. Различие между ними в том, что whatis
- только среди имен объектов (в левых частях полей NAME), а apropos
- по всей базе. В результате у whatis
получается список кратких описаний объектов с именами, включающими искомое слово, а у apropos - список, в котором это слово упоминается. Для того, чтобы это узнать, все равно пришлось один раз прочесть документацию.
В системе может встретиться несколько объектов разного типа, но с одинаковым названием. Часто совпадают, например, имена системных вызовов (функций ядра) и программ, которые пользуются этими функциями из командной строки (т. н. утилит):
[ivan@localhost ivan]$ whatis passwd
passwd (1) - update a user's authentication tokens(s)
passwd (5) - password file
passwd (8) - manual page for passwd wrapper version 1.0.5
Описания объектов, выводимые whatis, отличаются числом в скобках - номером раздела. В системе руководств Linux - девять разделов, каждый из которых содержит страницы руководства к объектам определенного типа. Все разделы содержат по одному руководству с именем ”intro”, в котором в общем виде и на примерах рассказано, какие объекты имеют отношение к данному разделу:
ivan@localhost:~> whatis intro
intro (1) - Introduction to user commands
intro (2) - Introduction to system calls
intro (3) - Introduction to library functions
intro (4) - Introduction to special files
intro (5) - Introduction to file formats
intro (6) - Introduction to games
intro (7) - Introduction to conventions and
miscellany section
intro (8) - Introduction to administration and
privileged commands
intro (9) - Introduction to kernel interface
Вот названия разделов в переводе на русский:
Инструменты администратора (часто недоступные обычному пользователю). Интерфейс ядра ( внутренние функции и структуры данных ядра Linux, необходимые только системному программисту, исправляющему или дополняющему ядро ). В частности, пример с passwd показывает, что в системе ”Some Linux”, которую использует Иван, есть программа passwd (именно с ее помощью Иван поменял себе пароль в предыдущей лекции), файл passwd, содержащий информацию о пользователях, и администраторская программа passwd, обладающая более широкими возможностями. По умолчанию man просматривает все разделы и показывает первое найденное руководство с заданным именем. Чтобы посмотреть руководство по объекту из определенного раздела, необходимо в качестве первого параметра команды man указать номер раздела:
[ivan@localhost ivan]$ man 8 passwd
PASSWD(8) System Administration Utilities PASSWD(8)
. . .
[ivan@localhost ivan]$ man -a passwd
PASSWD(1) Some Linux PASSWD(1) . . .
PASSWD(8) System Administration Utilities PASSWD(8) . . .
PASSWD(5) Linux Programmer's Manual PASSWD(5) . . .
Если в качестве первого параметра man
использовать -a
, будут последовательно выданы все руководства с заданным именем. Внутри страниц руководства принято непосредственно после имени объекта ставить в круглых скобках номер раздела, в котором содержится руководство по этому объекту: man (1)
, less(1)
, passwd(5)
и т. д.
Подсистема помощи | Info |