Одним из способов получения информации о том, как работает программа, является чтение man по ней, особенно раздела See Also, потому что там есть ссылки на другие страницы руководства, которые обычно стоит прочесть.
Утилита man(1) - составная, ее вызов - это последовательное выполнение трех операций:
- поиск страницы руководства,
- форматирование найденной страницы,
- просмотр отформатированного текста.
Страницы помощи - файлы, имена которых включают имена объектов. Сами файлы расположены в базовом каталоге.
Руководства хранятся в формате ROFF. Это язык разметки текста для представления его в виде документа, первые версии которого появились еще в начале 1960-х, т.е. до появления UNIX (первая версия системы была разработана в 1969 г. в Bell Labs, подразделении AT&T).
В отличие от Д. Кнута, автора абсолютно проективной системы TeX, авторам ROFF нужно было создать систему документирования, продукт которой одинаково хорошо выглядел бы и в полиграфическом исполнении, и на алфавитно-цифровом терминале.
Man использует утилиту nroff, которая форматирует ROFF-документ для выдачи его на алфавитно-цифровое печатающее устройство. Шрифт в АЦПУ моноширинный, псевдографики нет, а чтобы на печати буква выглядела ярче, сразу после нее выводится символ Backspace и буква выводится повторно («двойной удар»). Для подчеркивания текста сначала выводится не сама буква, а символ подчеркивания.
Третья стадия работы man - вызов утилиты постраничного просмотра текста more(1), но во многих системах вместо more используется более удобная утилита less(1) - "Less is more than more". При этом: "двойной удар" превращается в текст повышенной яркости, а подчеркивание - в подчеркнутый. Для вывода руководства на печать предназначена утилита troff (1).
Руководство по Solaris разделено на несколько разделов. Номер раздела может быть цифрой, за которой могут следовать буквы, а также раздел может называться одним словом (например, local, new или public). Каждая страница руководства представлена только в одном разделе, но в разных разделах могут быть таблицы с одним заголовком, например, passwd (1) и passwd (4):
passwd(1)
passwd -- change login password and password attributes
Synopsis
passwd [login_name]
passwd [-l | -d] [-f] [-x max] [-n min] [-w warn] login_name
passwd -s [-a]
passwd -s [login_name]
passwd -p
Description
The passwd command lets any user change the password or get a list of the current password attributes for his or her login_name. Privileged users may run passwd to perform these functions for any user, and to set the password attributes for any user. The command can be used to change passwords in the Network Information Service (NIS) database.
passwd(4)
passwd -- password file
Synopsis
/etc/passwd
Description
/etc/passwd is an ASCII file that contains basic information about each user's account.
Usage
For each authorized user, the passwd file contains a one-line entry, of the form:
login_name : password : uid : gid : comment : home_dir : login_shell
Разделы man делятся на подразделы, например, в разделе 1 есть подразделы 1s, 1b, 1m, 1f, 1b. Объяснение того, какие страницы содержатся в каждом из подразделов, дано в man intro, например:
man -s 3 intro
Intro(3)
NAME
Intro, intro - introduction to functions and libraries
DESCRIPTION
This section describes functions found in various Solaris
libraries, other than those functions described in Section 2
of this manual that directly invoke UNIX system primitives.
Function declarations can be obtained from the #include
files indicated on each page. Pages are grouped by library
and are identified by the library name (or an abbreviation
of the library name) after the section number. Collections
of related libraries are grouped into volumes as described
below. The first volume contains pages describing the con-
tents of each shared library and each header used by the
functions, macros, and external variables described in the
remaining volumes.
<…>
Основные разделы справочного руководства по Solaris
1. Основные команды.
2. Системные вызовы и коды ошибок.
3. Библиотеки С.
4. Устройства и драйверы устройств.
5. Форматы файлов.
6. Инструкции к играм и демо-версиям программ.
7. Специальные файлы, описания протоколов, драйверы и интерфейсы к ним.
9. Интерфейсы системных функций ядра.
Все страницы, описывающие программы, собраны в разделе 1, поэтому раздела 8 в руководстве по Solaris нет.
Номер раздела указывается в круглых скобках после команды, например man(1M).
В страницах руководства всегда есть несколько частей. Стандартные перечислены ниже, но иногда присутствуют и дополнительные, специфичные для данного описания.
NAME - имя описываемой команды и краткое описание.
NAME
mount - mount a file system
SYNOPSIS - список доступных ключей командной строки при вызове команды и список возможных аргументов.
SYNOPSIS
/usr/ucb/ls [ -aAcCdfFgilLqrRstu1 ] filename ...
DESCRIPTION кратко описывает программу; содержание зависит от темы рассматриваемой страницы.
DESCRIPTION
The alias and unalias utilities create or remove a pseudonym
or shorthand term for a command or series of commands, with
different functionality in the C-shell and Korn shell
environments.
OPTIONS описывает ключи программы и дополнительные аргументы, которые необходимо указать при использовании того или иного ключа.
OPTIONS
The following options are supported:
-D For each system peripheral in the device tree,
displays the name of the device driver used to manage
the peripheral.
-F (SPARC only). Returns the device pathname of the con-
sole frame buffer, if one exists. If there is no frame
buffer, prtconf returns a non-zero exit code. This
flag must be used by itself. It returns only the name
of the console, frame buffer device or a non-zero exit
code. For example, if the console frame buffer on a
SPARCstation 1 is cgthree in SBus slot #3, the command
returns: /sbus@1,f80000000/cgthree@3,0. This option
could be used to create a symlink for /dev/fb to the
actual console device.
-p Displays information derived from the device tree pro-
vided by the firmware (PROM) on SPARC platforms or the
booting system on IA platforms.
-P Includes information about pseudo devices. By default,
information regarding pseudo devices is omitted.
-v Specifies verbose mode.
-V Displays platform-dependent PROM (on SPARC platforms)
or booting system (on IA platforms) version informa-
tion. This flag must be used by itself. The output is
a string. The format of the string is arbitrary and
platform-dependent.
-x Reports if the firmware on this system is 64-bit
ready. Some existing platforms may need a firmware
upgrade in order to run the 64-bit kernel. If the
operation is not applicable to this platform or the
firmware is already 64-bit ready, it exits silently
with a return code of zero. If the operation is
applicable to this platform and the firmware is
not 64-bit ready, it displays a descriptive message
on stdout and exits with a non-zero return code. The
hardware platform documentation contains more informa-
tion about the platforms that may need a firmware
upgrade in order to run the 64-bit kernel.
This flag overrides all other flags and must be used
by itself.
SEE ALSO является последним разделом страницы (иногда наиболее интересным).
SEE ALSO
echo(1), attributes(5)
Для просмотра заголовков всех страниц, относящихся к определенной теме, нужно набрать man -k тема или apropos тема, что в переводе с французского означает "относительно, по поводу, что касается (чего-то)".
Затем на экране можно будет увидеть первое употребление этого слова на странице. Последовательно вводя одиночный слэш, можно переходить к следующему использованию слова.