MAN(1) | Утилиты просмотра справочных страниц |
MAN(1) |
НАЗВАНИЕ
man — доступ к
системным
справочным
страницам
СИНТАКСИС
man
[параметры
man] [[раздел]
страница …] …
man -k
[параметры
apropos] регвыр …
man -K
[параметры
man] [раздел]
термин …
man -f [whatis
параметры]
страница …
man -l
[параметры
man] файл …
man -w|-W
[параметры
man]
страница
…
ОПИСАНИЕ
man — это
пейджер
справочных
страниц
системы.
Каждый
параметр
страница,
переданный
man, обычно
является
названием
программы,
утилиты
или
функции. По
каждому из
этих
параметров
выполняется
поиск и
вывод
связанной
с ним
справочной
страницы.
Если
указан
параметр
раздел, то
это
заставляет
man
выполнять
поиск
только в
этом
справочном
разделе.
Действием
по
умолчанию
является
поиск во
всех
доступных
разделах
в заранее
определённом
порядке
(смотрите
DEFAULTS) и показ
только
первой
найденной
страницы,
даже если
существуют
страницы
в
нескольких
разделах.
В таблице
ниже
показаны
номера
справочных
разделов
и описание
их
содержимого.
1 | Исполняемые программы или команды оболочки (shell) |
2 | Системные вызовы (функции, предоставляемые ядром) |
3 | Библиотечные вызовы (функции, предоставляемые программными библиотеками) |
4 | Специальные файлы (обычно находящиеся в каталоге /dev) |
5 | Форматы файлов и соглашения, например о /etc/passwd |
6 | Игры |
7 | Разное (включает пакеты макросов и соглашения), например man(7), groff(7), man-pages(7) |
8 | Команды администрирования системы (обычно, запускаемые только суперпользователем) |
9 | Процедуры ядра [нестандартный раздел] |
Справочная
страница
состоит из
нескольких
разделов.
Стандартные
имена
разделов:
НАЗВАНИЕ
(NAME),
СИНТАКСИС
(SYNOPSIS),
НАСТРОЙКИ
(CONFIGURATION),
ОПИСАНИЕ
(DESCRIPTION),
ПАРАМЕТРЫ
(OPTIONS),
КОД ВЫХОДА
(EXIT STATUS),
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
(RETURN VALUE),
ОШИБКИ (ERRORS),
ОКРУЖЕНИЕ
(ENVIRONMENT), ФАЙЛЫ
(FILES), ВЕРСИИ
(VERSIONS),
СОГЛАСУЕТСЯ С
(CONFORMING TO),
ЗАМЕЧАНИЯ
(NOTES), ОШИБКИ
(BUGS), ПРИМЕР
(EXAMPLE), АВТОРЫ
(AUTHORS) и
СМОТРИТЕ ТАКЖЕ
(SEE ALSO).
В разделе
СИНТАКСИС
используются
следующие
соглашения
(которые
также
могут быть
использованы
в качестве
основы для
других
разделов).
текст жирным шрифтом |
набирать точно как показано. |
текст курсивным шрифтом |
заменить соответствующим значением. |
[-abc] | любой или все параметры внутри [ ] необязательны. |
-a|-b | параметры, разделённые |, не могут указываться одновременно. |
параметр … |
повторяющийся параметр. |
[выражение] … |
всё выражение внутри [ ] может вводиться несколько раз. |
Точная
отрисовка
может
отличаться
на разных
устройствах
вывода.
Например, man,
обычно, не
способна
вывести
курсив в
терминале,
и вместо
него
выведет
текст
подчёркнутым
или
цветным.
При
объяснении
команды
или
функции
должен
применяться
шаблон,
который
точно
описывает
все
возможные
варианты
вызова. В
некоторых
случаях
рекомендуется
показать
несколько
уникальных
вызовов,
как
показано в
разделе
СИНТАКСИС
этой
справочной
страницы.
ПРИМЕРЫ
- man ls
- Показать
справочную
страницу
для
параметра
(программы)
ls. - man
man.7 - Показать
справочную
страницу
пакета
макросов
man из
раздела 7
(аналог
команды «man
7 man«). - man
‘man(7)’ - Показать
справочную
страницу
пакета
макросов
man из
раздела 7
(аналог
команды «man
7 man«; она
удобнее
для
копирования
и вставки
перекрёстных
ссылок в
справочные
страницы;
заметим,
что скобки
нужно
защищать
кавычками
из-за
оболочки). - man -a intro
- Показать
подряд все
доступные
справочные
страницы
по intro. В
перерыве
между
показами
можно
пропустить
следующую
справочную
страницу
или
закончить
просмотр. - man -t bash
| lpr -Pps - Отформатировать
справочную
страницу
для bash в
формат по
умолчанию
troff или groff и
передать
её по
каналу в
принтер с
именем ps.
Обычно,
форматом
вывода groff
по
умолчанию
является
PostScript. По
команде man —help
можно
посмотреть
какой
процессор
привязан к
параметру
-t. - man -l -Tdvi
./foo.1x.gz > ./foo.1x.dvi - Эта
команда
расжимает
и
форматирует
справочную
страницу в
формате nroff
./foo.1x.gz в файл в
формате
независимом
от
устройства
(dvi).
Перенаправление
вывода
необходимо,
так как при
параметре
-T вывод
направляется
напрямую
на
стандартный
вывод без
пейджера.
Результат
может быть
просмотрен
с помощью,
например,
xdvi или
преобразован
в PostScript с
помощью,
например,
dvips. - man -k printf
- Искать в
кратких
описаниях
и именах
справочных
страниц
ключевое
слово printf,
рассматриваемое
как
регулярное
выражение.
Показать
любые
найденные
совпадения.
Эквивалентно
вызову
apropos printf. - man -f smail
- Искать
справочные
страницы,
ссылающиеся
на smail и
показать
краткое
описание
любой
найденной.
Эквивалентно
вызову
whatis smail.
ОБЗОР
Многие
параметры
man
предназначены
для
предоставления
как можно
большей
гибкости
пользователю.
Можно
изменять
путь
поиска,
порядок
разделов,
выходной
обработчик
и другие
характеристики
и операции
— всё это
подробно
описано
ниже.
В работе
man могут
использоваться
различные
переменные
окружения.
Возможно
задать
любые
параметры
во
«всеобъемлющей»
переменной
$MANOPT,
экранируя
пробельные
символы в
значениях
(с помощью
обратной
косой
черты). man
разбирает
$MANOPT перед
началом
анализа
параметров,
переданных
при вызове
в
командной
строке. Все
значения
параметров,
указанные
в
командной
строке,
заменят
значения
своих
аналогов
из
переменной
окружения.
Для сброса
всех
параметров,
установленных
с помощью
$MANOPT, можно
указать
параметр -D
в начале
командной
строки. Это
позволит man
«забыть» о
значениях,
указанных
в $MANOPT, хотя
они всё
равно
должны
быть
заданы
правильно.
Обычно,
справочные
страницы
хранятся в
формате nroff(1)
в каталоге
/usr/share/man. В
некоторых
установках
для
повышения
производительности
также
могут
существовать
заранее
отформатированные
страницы cat.
Место
хранения
этих
файлов
описано в
manpath(5).
Данный
пакет
обеспечивает
поддержку
справочных
страниц на
нескольких
языках
(через
локаль).
Если
система не
настраивает
её
автоматически,
то вам
необходимо
присвоить
переменной
$LC_MESSAGES, $LANG или
другой
переменной
окружения
(зависит от
системы)
значение
локали
предпочитаемого
языка,
обычно
задаваемое
в формате
POSIX:
<язык>[_<территория>[.<кодировка>[,<версия>]]]
Если
запрашиваемая
страница
доступна
для вашей
локали, то
она будет
показана
вместо
стандартной
(обычно, на
американском
английском)
страницы.
Если вы
обнаружили,
что этот
пакет не
переведён
ваш язык и
вы хотите
сделать
это, то
свяжитесь
с
сопровождающим,
который
скоординирует
данную
работу.
Отдельные
справочные
страницы
пишутся и
поддерживаются
сопровождающими
программы,
функции
или другой
части,
которую
они
описывают,
и не
включены в
этот пакет.
Если вы
обнаружите
отсутствие
или
некорректность
справочной
страницы,
сообщите
сопровождающим
конкретного
пакета.
О других
возможностях
и
расширениях,
доступных
в этом
пейджере
справочных
страниц,
читайте в
описаниях
из этого
пакета.
ЗНАЧЕНИЯ
ПО
УМОЛЧАНИЮ
Порядок
поиска по
разделам
можно
изменить
через
переменную
окружения
$MANSECT или
директиву
SECTION в /etc/man_db.conf.
Значение
по
умолчанию
следующее:
1 1p n l 8 3 3p 0 0p 2 3type 5 4 9 6 7
Отформатированная
справочная
страница
отображается
пейджером.
Его можно
задать
несколькими
способами,
в
противном
случае
будет
использовано
значение
по
умолчанию
(смотрите
описание
параметра
-P).
Фильтры
можно
указывать
разными
способами.
Во-первых,
обрабатывается
значение
параметра
-p или
переменная
окружения
$MANROFFSEQ. Если -p
не
указывалась
и
переменная
окружения
не
установлена,
то в
поисках
строки
препроцессора
анализируется
первая
строка nroff
файла.
Чтобы
указывать
строку
препроцессора
правильно,
первая
строка
должна
быть в
формате
‘\»
<строка>
где
строка
может
содержать
комбинацию
букв,
описанных
в
параметре
-p ниже.
Если
информация
о фильтре
нигде не
указана, то
используется
набор по
умолчанию.
Конвейер
форматирования
создаётся
из
фильтров и
основной
программы
форматирования
(nroff или [tg]roff с
параметром
-t) и
выполняется.
Или же, если
существует
исполняемая
программа
mandb_nfmt (или mandb_tfmt с
параметром
-t) в корне
дерева
справочных
страниц, то
выполняется
именно она.
Она
получает
файл с
исходным
текстом
справочной
страницы,
строку
препроцессора,
и,
необязательно,
устройство,
указанное
в
параметре
-T или -E.
ПАРАМЕТРЫ
Параметры
без
значений,
повторяющиеся
в
командной
строки, $MANOPT
или обоих,
не опасны. В
случае с
параметрами
со
значением,
при каждом
повторении
новое
значение
заменяет
имеющееся.
Общие
параметры
- -C файл, —config-file=файл
- Использовать
указанный
пользовательский
файл
настройки
вместо
значения
по
умолчанию
~/.manpath. - -d, —debug
- Показывать
отладочную
информацию. - -D, —default
- Этот
параметр
обычно
вводится
самым
первым, и
указывает
man
активировать
поведение
по
умолчанию.
Он
используется
для сброса
параметров,
которые
могли быть
установлены
через
переменную
окружения
$MANOPT. Любые
параметры,
указанные
после -D,
будут
действовать
как
обычно. - —warnings[=предупреждения]
- Включить
предупреждения
от groff. Это
может быть
использовано
для
проверки
тривиальных
ошибок в
исходном
тексте
справочных
страниц.
Предупреждения
представляют
собой
список
названий
предупреждений
через
запятую;
если он не
указан, то
по
умолчанию
используется
значение
«mac». Полный
список
доступных
предупреждений
можно
найти в info groff,
раздел
“Предупреждения”.
Основные
режимы
работы
- -f, —whatis
- Эквивалентно
работе whatis.
Отображает
краткое
описание
из
справочной
страницы,
если оно
есть.
Подробней
смотрите
whatis(1). - -k, —apropos
- Эквивалентно
работе apropos.
Ищет в
кратких
описаниях
справочных
страниц
ключевые
слова и
показывает
любые
совпадения.
Подробней
смотрите
apropos(1). - -K,
—global-apropos - Поиск
текста во
всех
справочных
страницах.
Используется
простой
поиск
перебором,
что
занимает
определённое
время; если
можно,
указывайте
раздел для
сокращения
числа
страниц, в
которых
нужно
искать.
Термины
поиска
могут быть
простыми
строками
(по
умолчанию),
или
регулярными
выражениями,
если
указан
параметр
—regex.
- Заметим,
что данный
поиск
выполняется
по
исходному
тексту
справочных
страниц, а
не по
отображаемому
тексту, и
поэтому
может
включать
ложные
результаты,
например,
из-за
комментариев
в исходных
файлах.
Поиск по
отображаемому
тексту
выполнялся
бы
медленнее.
- -l,
—local-file - Включить
«локальный»
режим.
Форматирует
и
показывает
локальные
справочные
файлы, а не
ищет их в
справочной
коллекции
системы.
Каждый
параметр
справочной
страницы
считается
именем
правильно
отформатированного
исходного
файла nroff. Cat
файлы не
создаются.
Если в
качестве
одного из
параметров
указан «-»,
то данные
будут
взяты из
стандартного
входного
потока.
Если этот
параметр
не
используется
и man не может
найти
запрашиваемую
страницу,
то перед
тем как
показать
сообщение
об ошибке,
будет
предпринята
попытка
работать в
локальном
режиме,
используя
указанное
имя в
качестве
имени
файла для
поиска. - -w, —where,
—path, —location - Не
выводить
содержимое
справочной
страницы, а
показать
место
нахождения
исходного
файла nroff,
который
был бы
отформатирован.
Если также
указан
параметр
-a, то
вывести
расположения
всех
исходных
файлов,
которые
подпадают
под
критерии
поиска. - -W, —where-cat,
—location-cat - Не
выводить
содержимое
справочной
страницы, а
показать
место
нахождения
отформатированного
файла cat,
который
был бы
показан.
Если также
указан
параметр
-a, то
вывести
расположения
всех
отформатированных
файлов,
которые
подпадают
под
критерии
поиска.
- Если
указаны
параметры
-w и -W, и
вывести
исходный
файл и файл
cat, разделив
их
пробелом.
Если
указаны
сразу -w, -W и
-a, то
сделать
это для
каждого
возможного
совпадения.
- -c, —catman
- Этот
параметр
не для
обычного
использования,
и должен
использоваться
только
программой
catman. - -R кодировка, —recode=кодировка
- Вместо
обычного
форматирования
справочной
страницы
можно
преобразовать
исходный
текст в
заданную
кодировку.
Если вам
уже
известна
кодировка
исходного
файла, то
вы можете
также
использовать
непосредственно
manconv(1). Однако,
этот
параметр
позволяет
преобразовывать
несколько
справочных
страниц в
одну
кодировку
без явного
указания
кодировки
каждой
страницы,
предполагая,
что они уже
установлены
в
структуру,
подобную
иерархии
справочных
страниц.
- Попробуйте
использовать
man-recode(1) вместо
преобразования
множества
справочных
страниц,
так как его
интерфейс
разработан
для
группового
преобразования
и может
выполнить
эту задачу
намного
быстрее.
Поиск
справочных
страниц
- -L локаль, —locale=локаль
- man, обычно,
определяет
текущую
локаль с
помощью
вызова
C-функции
setlocale(3),
которая
исследует
различные
переменные
окружения,
возможно
$LC_MESSAGES и $LANG. Для
временной
подмены
полученного
значения,
используйте
этот
параметр,
задающий
локаль
только в man.
Заметим,
что это
влияет
только
непосредственно
на поиск
страниц.
Вывод
сообщений
программы,
например
справки,
всегда
будет
выполняться
для
изначально
определённой
локали. - -m
система[,…],
—systems=система[,…] - Если
система
имеет
доступ к
справочным
страницам
других
операционных
систем, то
к ним можно
обратиться
с помощью
этого
параметра.
Чтобы
найти
справочную
страницу
из
коллекции
страниц
для
операционной
системы NewOS,
укажите -m
NewOS.В
значении
система
может
указать
несколько
имён
операционных
систем
через
запятую.
Чтобы
включить
поиск по
справочным
страницам
родной
операционной
системы,
добавьте
системное
имя man в это
значение.
Этот
параметр
заменяет
значение
переменной
окружения
$SYSTEM. - -M путь, —manpath=путь
- Задать
альтернативный
manpath для
работы. По
умолчанию,
для
определения
пути
поиска man
использует
manpath,
указанный
в исходном
коде
программы.
Этот
параметр
заменяет
значение
переменной
окружения
$MANPATH и
выключает
действие
параметра
-m.Задаваемый
в
качестве manpath
путь
должен
быть
корнем
иерархии
справочных
страниц,
разделённой
на
разделы,
описанных
в
справочной
странице
по man-db (в
разделе
«Система
справочных
страниц»).
Для
просмотра
справочных
страниц
вне этих
иерархий,
используйте
параметр
-l. - -S
список, -s
список,
—sections=список - Задаваемый
список
разделов,
перечисляемых
через
запятую,
используется
для
определения
разделов
руководства
поиска и их
порядка.
Этот
параметр
заменяет
значение
переменной
окружения
$MANSECT
(параметр
-s введён
для
совместимости
с System V). - -e доп.расширение, —extension=доп.расширение
- Некоторые
системы
включают
большое
число
пакетов
справочных
страниц,
например
таких,
которые
поставляются
с пакетом
Tcl, в
главную
иерархию
справочных
страниц.
Для
решения
проблемы
появления
двух
справочных
страниц с
одинаковым
именем,
например,
exit(3), все
страницы
Tcl, обычно,
помещаются
в раздел l.
Но для
страниц
такого
типа уже
определён
правильный
раздел (3).
Теперь
возможно
помещать
страницы в
правильный
раздел, и
назначать
им
специальное
«расширение»,
в данном
случае, exit(3tcl).
Обычно, man
показывает
exit(3), а не exit(3tcl).
Чтобы
преодолеть
это и не
запоминать
в каком
разделе
лежит
определённая
страница,
теперь
возможно
передать
man строку
доп.расширения,
указывающую
какому
пакету
должна
принадлежать
страница.
Возвращаясь
к примеру
выше,
укажите
параметр
-e tcl для man,
чтобы
ограничить
поиск
только
страницами
с
расширением
*tcl. - -i,
—ignore-case - Игнорировать
регистр
при поиске
справочных
страниц.
Включено
по
умолчанию. - -I,
—match-case - Искать
справочные
страницы с
учётом
регистра
символов. - —regex
- Показывает
все
страницы, у
которых
какая-то
часть в
имени или в
описании
совпадает
с
параметром
страница,
заданным в
виде
регулярного
выражения,
также как
apropos(1). Так как,
обычно, нет
разумного
способа
определить
«лучшую»
страницу
при поиске
по
регулярному
выражению,
то этот
параметр
подразумевает
-a. - —wildcard
- Показывает
все
страницы, у
которых
какая-то
часть в
имени или в
описании
совпадает
с
параметром
страница,
заданным в
виде
групповых
символов,
также как в
apropos(1) —wildcard.
Значение
страница
должно
полностью
совпадать
с именем
или
описанием,
или
совпадать
по границе
слов в
описании.
Так как,
обычно, нет
разумного
способа
определить
«лучшую»
страницу
при поиске
по
регулярному
выражению,
то этот
параметр
подразумевает
-a. - —names-only
- Если
указан
параметр
—regex или —wildcard,
то
совпадения
ищутся
только в
именах
страниц, а
не в
описании
страницы,
как в whatis(1).
Иначе,
этого не
происходит. - -a, —all
- По
умолчанию,
man
завершает
работу
после
показа
наиболее
подходящей
найденной
справочной
страницы.
Этот
параметр
заставляет
man
показать
все
справочные
страницы с
именами,
которые
удовлетворяют
критериям
поиска. - -u, —update
- Данный
параметр
заставляет
man
обновить
свои кэши
базы
данные
установленных
справочных
страниц.
Это
требуется
очень
редко и для
этого,
обычно,
лучше
запускать
mandb(8). - —no-subpages
- По
умолчанию,
man
пытается
интерпретировать
пары имён
справочных
страниц,
указанных
в
командной
строке, как
единое имя
справочной
страницы,
содержащее
символ
переноса
или
подчёркивания.
Это
поддерживает
общую
систему
программ,
которые
имеют
несколько
подкоманд,
позволяя
для каждой
из них
предоставлять
справочные
страницы
используя
синтаксис,
похожий на
вызов
самих
подкоманд.
Например:$ man -aw git diff /usr/share/man/man1/git-diff.1.gz
Чтобы
выключить
такое
поведение,
укажите
параметр
—no-subpages.$ man -aw --no-subpages git diff /usr/share/man/man1/git.1.gz /usr/share/man/man3/Git.3pm.gz /usr/share/man/man1/diff.1.gz
Контролирование
форматированного
вывода
- -P пейджер, —pager=пейджер
- Указывает,
какой
пейджер
использовать
для вывода.
По
умолчанию,
man
использует
less и
применяет
cat, если less не
найден или
не
является
исполняемым
файлом.
Этот
параметр
заменяет
значение
переменной
окружения
$MANPAGER которая,
в свою
очередь,
заменяет
значение
переменной
окружения
$PAGER. Не
используется
вместе с -f
или -k.Значением
может
быть
просто
имя
команды
или
команды с
параметрами,
можно
использовать
экранирование
интерпретатора
команд
(обратные
слэши,
одиночные
кавычки
или
двойные
кавычки).
Нельзя
объединять
несколько
команд
каналами;
если эту
нужно,
создайте
сценарий-обёртку,
который
получает
файл для
показа в
виде
параметра
или со
стандартного
ввода. - -r приглашение, —prompt=приглашение
- Если в
качестве
пейджера
используется
новая
версия less,
то man будет
пытаться
установить
ей формат
приглашения
и
некоторые
значимые
параметры.
По
умолчанию
приглашение
выглядит
какManual page
имя(раздел)
line xгде имя
это имя
справочной
страницы,
раздел —
раздел, в
котором
она была
найдена и
x — номер
текущей
строки.
Приглашение
устанавливается
с помощью
переменной
окружения
$LESS.Данное
значение
по
умолчанию
можно
изменить
с помощью
параметра
-r.
Значение
параметра
может
содержать
текст $MAN_PN,
вместо
которого
подставляется
имя
текущей
справочной
страницы
и её
название
раздела,
окружённое
«(» и «)».
Строка,
используемая
для
создания
приглашения
по
умолчанию,
могла бы
выглядеть
как\ Справочная\ страница\ \$MAN_PN\ ?ltстрока\ %lt?L/%L.:
byte\ %bB?s/%s..?\ (ВСЕ):?pB\ %pB\\%..
(h — справка, q
— выход)Здесь
она
разделена
на три
строки
только
для
повышения
читаемости.
Описание
её
составных
частей
смотрите
в
справочной
странице
less(1). Строка
приглашения
сначала
обрабатывается
оболочкой
командной
строки.
Все
двойные
кавычки,
обратные
кавычки и
обратные
косые
черты в
приглашении
должны
предваряться
обратными
косыми
чертами
для
экранирования.
Строка
приглашения
может
заканчиваться
экранированным
$, за
которым
можно
указать
другие
параметры
less. По
умолчанию,
man
указывает
параметры
-ix8.Переменная
окружения
$MANLESS,
описанная
ниже,
может
использоваться
для
назначения
строки
приглашения
по
умолчанию,
если это
не задано
в
командной
строке. - -7, —ascii
- При
просмотре
справочной
страницы в
изначальной
кодировке
ascii(7) на
7-битном
терминале
или
эмуляторе
терминала
при
использовании
описания
устройства
latin1(7) с GNU nroff
некоторые
символы
могут
неправильно
отображаться
. Этот
параметр
позволяет
справочным
страницам
в
изначальной
ascii
отображаться
в ascii,
используя
устройство
latin1. Любой latin1
текст не
будет
транслироваться.
Следующая
таблица
показывает
выполняемые
трансляции:
некоторые
её части
могут
отображаться
правильно
только при
использовании
GNU nroff
устройства
latin1(7).Описание Восьмеричный
кодlatin1 ascii длинный
перенос255 ‐ — bullet (точка в
центре)267 • o значок
ударения264 ´ ‘ знак
ударения327 × x Если
колонка latin1
отображается
правильно,
то ваш
терминал
может
быть
настроен
для
отображения
символов
latin1 и этот
параметр
ненужен.
Если
колонки latin1
и ascii
одинаковы,
то вы
читаете
эту
страницу
с помощью
данного
параметра,
или man не
отформатировал
страницу
с помощью
описания
устройства
latin1. Если
колонка latin1
отсутствует
или
повреждена,
то вам
может
потребоваться
просматривать
справочные
страницы
с помощью
этого
параметра.Этот
параметр
игнорируется
при
использовании
параметров
-t, -H, -T или -Z,
и может
быть
бесполезен
для nroff, если
он не от GNU. - -E кодировка, —encoding=кодировка
- Сгенерировать
вывод в
символьной
кодировке,
отличной
от
используемой
по
умолчанию.
Кроме
реальной
символьной
кодировки,
типа UTF-8, для
обратной
совместимости
в
кодировке
можно
указывать
устройство
nroff,
например,
ascii, latin1 или utf8. - —no-hyphenation,
—nh - Обычно, nroff
автоматически
разбивает
текст при
окончании
строки
даже на
словах, у
которых
нет
переносов,
если это
необходимо
для
размещения
слов в
строке для
избежания
лишних
пробелов.
Этот
параметр
отключает
автоматический
перенос; в
результате
перенос
выполняется
только для
слов, в
которых
есть
символы
переноса.Если вы
пишите
справочную
страницу
и просто
хотите
отключить
в nroff
перенос в
словах в
неподходящем
месте, не
используйте
этот
параметр,
а
почитайте
документацию
к nroff;
например,
вы можете
поместить
«\%» внутрь
слова в
место
возможного
разрыва,
или
поместить
«\%» в начало
слова, что
не даст
его
разорвать
совсем. - —no-justification,
—nj - Обычно, nroff
автоматически
выравнивает
текст по
обеим
границам.
Этот
параметр
выключает
полное
выравнивание,
оставляя
выравнивание
по левому
краю,
получается
так
называемый
текст «без
выключки
по правому
краю».Если вы
пишите
справочную
страницу
и просто
хотите
отключить
в nroff
выравнивание
в
некоторых
параграфах,
не
используйте
этот
параметр,
а
почитайте
документацию
к nroff;
например,
вы можете
использовать
запросы
«.na», «.nf», «.fi», и
«.ad» для
временного
отключения
выравнивания
и
заполнения. - -p строка, —preprocessor=строка
- Задать
последовательность
препроцессоров
для
запуска
перед nroff
или troff/groff. Не
во всех
системах
имеется
полный
набор
препроцессоров.
Некоторые
препроцессоры
и буквы,
используемые
для их
обозначения:
eqn (e), grap (g), pic (p),
tbl (t), vgrind (v), refer (r).
Этот
параметр
заменяет
значение
переменной
окружения
$MANROFFSEQ. zsoelim
запускается
всегда в
качестве
первого
очень
быстрого
препроцессора. - -t, —troff
- Использовать
groff -mandoc для
форматирования
справочной
страницы и
вывода в
стандартный
выходной
поток. Этот
параметр
не
требуется
вместе с -H,
-T или -Z. - -T[устройство],
—troff-device[=устройство] - Этот
параметр
используется
для замены
вывода groff
(или,
возможно,
troff) на более
подходящий
для
устройства,
отличного
от
используемого
по
умолчанию.
Подразумевается
-t. Примеры
(предоставляются
с Groff-1.17)
включают
dvi, latin1, ps, utf8, X75 и
X100. - -H[браузер],
—html[=браузер] - Этот
параметр
заставляет
groff
создавать
HTML -страницу,
и
отображать
её в
веб-браузере.
Выбор
браузера
определяется
необязательным
значением
браузер,
переменной
окружения
$BROWSER, или,
если
ничего не
указано,
значением
по
умолчанию,
установленным
при
компиляции
программы
(обычно lynx).
Этот
параметр
предполагает
-t, и
работает
только с GNU
troff. - -X[dpi],
—gxditview[=dpi] - С этим
параметром
вывод groff
осуществляет
в
графическое
окно с
помощью
программы
gxditview.
Значениями
dpi (точек на
дюйм) могут
быть 75, 75-12, 100 или
100-12; по
умолчанию
75; в
вариантах
с -12 в конце
используется
базовый
шрифт в 12
точек. Этот
параметр
подразумевает
-T со
значениями
устройств
X75, X75-12, X100 и X100-12
соответственно. - -Z, —ditroff
- groff
запустит
troff, а затем
использует
соответствующий
постпроцессор
для
создания
результата,
подходящего
для
выбранного
устройства.
Если groff -mandoc
совпадает
с groff, то
данный
параметр
передаётся
groff и
использование
постпроцессора
отменяется.
Подразумевает
-t.
Выдача
справки
- -?, —help
- Показать
справочное
сообщение
и
закончить
работу. - —usage
- Показать
короткое
сообщение
об
использовании
и
завершить
работу. - -V, —version
- Показать
информацию
о версии.
КОД
ВЫХОДА
- 0
- Успешное
выполнение
программы. - 1
- Была
показана
справка об
использовании,
произошла
синтаксическая
ошибка или
проблемы в
файле
настройки. - 2
- Ошибка при
работе. - 3
- Дочерний
процесс
завершился
с
ненулевым
кодом
выхода. - 16
- По крайней
мере одна
из
страниц/файлов/ключевых
слов не
существует
или для неё
при поиске
ничего не
найдено.
ОКРУЖЕНИЕ
- MANPATH
- Если
установлена
переменная
окружения
$MANPATH, то её
значение
используется
в качестве
пути
поиска
справочных
страниц.О том, как
используется
эта
переменная
окружения
и
поведение
по
умолчанию,
смотрите
раздел
ПУТЬ
ПОИСКА в
manpath(5). - MANROFFOPT
- Всякий раз,
когда man
вызывает
программу
форматирования
(nroff, troff или groff)
в её
командную
строку
добавляется
содержимое
$MANROFFOPT. - MANROFFSEQ
- Если
установлена
переменная
окружения
$MANROFFSEQ, то её
значение
используется
для
определения
набора
препроцессоров
для
обработки
каждой
справочной
страницы.
Список
препроцессоров
по
умолчанию
зависит от
системы. - MANSECT
- Если
установлена
переменная
окружения
$MANSECT, то её
значением
является
список
разделов,
указанных
через
двоеточие,
и она
используется
для
задания
разделов
справочных
страниц, в
которых
будет
производится
поиск и в
каком
порядке.
Значением
по
умолчанию
является «1
1p n l 8 3 3p 0 0p 2 3type 5 4 9 6 7»,
если оно не
заменено
директивой
SECTION в /etc/man_db.conf. - Если
установлена
переменная
окружения
$MANPAGER или $PAGER ($MANPAGER
просматривается
первой), то
в ней
задано имя
программы
для
отображения
справочной
страницы.
По
умолчанию,
используется
less или cat,
если less не
найден или
не
является
исполняемым
файлом.Значением
может
быть
просто
имя
команды
или
команды с
параметрами,
можно
использовать
экранирование
интерпретатора
команд
(обратные
слэши,
одиночные
кавычки
или
двойные
кавычки).
Нельзя
объединять
несколько
команд
каналами;
если эту
нужно,
создайте
сценарий-обёртку,
который
получает
файл для
показа в
виде
параметра
или со
стандартного
ввода. - MANLESS
- Если
установлена
переменная
окружения
$MANLESS, то её
значение
будет
использоваться
по
умолчанию
как строка
приглашения
для
пейджера
less, как если
бы был
указан
параметр -r
(так что
любые
появления
текста $MAN_PN
будут
как-то
раскрыты).
Например,
если вы
хотите
установить
строку
приглашения
дословно в
“my prompt string”, то
установите
$MANLESS равной
‘-Psmy prompt string’.
Указанное
значение
параметра
-r замещает
значение
переменной
окружения. - BROWSER
- Если
установлена
переменная
окружения
$BROWSER, то её
значение
представляет
собой
список
команд,
разделяемых
двоеточием;
каждая из
них
используется
для
попытки
запуска
веб-браузера
для man —html. В
каждой
команде %s
заменяется
именем
файла,
содержащим
HTML
результат
от groff, %%
заменяется
одним
знаком
процента (%),
а %c
заменяется
двоеточием
(:). - SYSTEM
- Установка
значения
переменной
окружения
$SYSTEM
равносильна
указанию
параметра
-m. - MANOPT
- Если
установлена
переменная
окружения
$MANOPT, то она
анализируется
раньше
командной
строки man и
должна
задаваться
в том же
формате.
Значения
всех
специальных
переменных
окружения
man могут
быть
заданы в
параметрах
командной
строки, а
включение
в $MANOPT
показывает,
что данный
параметр
скоро
устареет.
Обратите
особое
внимание
на то, что
все
пробелы,
которые
должны
быть
частью
значения
параметра,
нужно
экранировать. - MANWIDTH
- Если
установлена
переменная
окружения
$MANWIDTH, то её
значение
используется
в качестве
длины
строки
форматируемых
справочных
страниц.
Если она не
установлена,
то
справочные
страницы
будут
отформатированы
по длине
строки
текущего
терминала
(используется
значение
переменной
$COLUMNS, и вызов
ioctl(2), если он
доступен,
или 80
символов,
если
ничего
недоступно).
Cat страницы
будут
сохраняться
на диск
только,
если может
быть
использовано
форматирование
по
умолчанию,
то есть
когда
длина
строки
терминала
лежит в
промежутке
между 66 и 80
символами. - MAN_KEEP_FORMATTING
- Обычно,
если вывод
не
направляется
на
терминал
(например,
в файл или
канал),
символы
форматирования
отбрасываются
для
облегчения
чтения
результата
не имея
специальных
инструментов.
Однако,
если
переменная
окружения
$MAN_KEEP_FORMATTING
установлена
в непустое
значение,
то символы
форматирования
остаются.
Это может
быть
полезно
для
оболочек
вокруг man,
которые
распознают
символы
форматирования. - MAN_KEEP_STDERR
- Обычно,
если вывод
направляется
на
терминал
(например,
в пейджер),
все ошибки
вывода
команды,
используемой
для
создания
форматированного
варианта
справочной
страницы,
отбрасываются
во
избежании
порчи
отображаемого
текста.
Программы
типа groff
часто
выводят
относительно
безобидные
сообщения
об ошибках,
например о
печатных
проблемах
плохого
выравнивания
вперемешку
с
информацией
справочной
страницы.
Однако,
некоторые
пользователи
всё равно
хотели бы
их видеть,
и поэтому,
если
установить
переменную
окружения
$MAN_KEEP_STDERR в
непустое
значение,
вывод
ошибок
будет
производиться
как
обычно. - MAN_DISABLE_SECCOMP
- В Linux, man,
обычно,
ограничивает
подпроцессы,
работающие
с
ненадёжными
данными, с
помощью
изолированной
среды seccomp(2).
Это
позволяет
безопасно
запускать
сложный
код
разбора
произвольных
справочных
страниц.
Если это
приводит к
ошибке по
причине не
связанной
с
содержимым
отображаемой
справочной
страницы,
то
изолированную
среду
можно
отключить,
указав
непустое
значение в
переменной
$MAN_DISABLE_SECCOMP. - PIPELINE_DEBUG
- Если
переменная
окружения
$PIPELINE_DEBUG равна
«1», то man
выведет
отладочные
сообщения
в
стандартный
поток
ошибок из
каждого
запускаемого
подпроцесса. - LANG,
LC_MESSAGES - В
зависимости
от системы
и
реализации,
одна или
обе
переменные
$LANG и $LC_MESSAGES
будут
просмотрены
для
определения
текущей
локали
сообщений.
man будет
отображать
свои
сообщения
в этой
локали
(если они
для неё
есть).
Подробней
смотрите в
setlocale(3).
ФАЙЛЫ
- /etc/man_db.conf
- Файл
настройки
man-db. - /usr/share/man
- Глобальная
иерархия
справочных
страниц.
СМОТРИТЕ
ТАКЖЕ
apropos(1), groff(1), less(1),
manpath(1), nroff(1), troff(1), whatis(1),
zsoelim(1), manpath(5), man(7), catman(8),
mandb(8)
Документация
на
некоторые
пакеты
может быть
доступна в
других
форматах,
например,
info(1) или HTML.
ИСТОРИЯ
1990, 1991 –
изначально
написана
Джоном В.
Итоном (John W. Eaton,
jwe@che.utexas.edu).
23 декабря 1992:
Рик Фейт (Rik Faith,
faith@cs.unc.edu)
исправил
ошибки,
найденные
Виллемом
Касдорпом
(Willem Kasdorp, wkasdo@nikhefk.nikef.nl).
30 апреля 1994 –
23 февраля 2000:
Вильф (Wilf. G.Wilford@ee.surrey.ac.uk)
разрабатывал
и
сопровождал
этот пакет
с помощью
некоторых
других
людей.
30 октября 1996
– 30 марта 2001:
Фабрицио
Полако (Fabrizio Polacco,
<fpolacco@debian.org>
сопровождал
и улучшал
этот пакет
для
проекта Debian с
помощью
всего
сообщества.
31 марта 2001 –
настоящие
дни: Колин
Уотсон (Colin Watson,
<cjwatson@debian.org>
занимается
разработкой
и
сопровождением
man-db.
ОШИБКИ
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db
������������� ������� ��������� ��������� ���������� (man-��)
man (1)
��������
man — ����������� � ���������� �������� ������������ ����������� man
manpath — ���������� ���� ������ ������� �����������
���������
man
[-acdfFhkKtwW]
[—path]
[-m
������� ]
[-p
������ ]
[-C
����_������������ ]
[-M
������_����� ]
[-P
������� ]
[-S
������_�������� ]
[������]
��� …
��������
man
����������� � ���������� �������� ������������ �����������. ���� �� �������
������,
��
man
����� ������ ������ � ���� ������� �����������.
���
��� ��� �������� �����������, ������� ������ �������� ������ �������, �������, ��� �����.
������, ����
���
�������� ��������� �����
(/),
��
man
�������������� ��� ��� ��������� � ����������� �����, ��� ��� �� ������ ���������
man ./foo.5
���
man /cd/foo/bar.1.gz.
�������� ����, ���
man
���� �������� �����������, �������� ����.
�����
- -C ����_������������
-
������� ���� ������������ ��� �������������; �� ��������� ���
/etc/man.conf.(��.
man.conf(5).) - -M ����
-
���������� ������ ��������� ��� ������ ������� �����������. �������� ����������� �����������. ������ ������ ��������� ����������� ��������������
-M�����. ��������
���� ������ ������� �����������. - -P �������
-
��������� ������������ �������.
��� ����� ������������� ���������� ���������
MANPAGER,������� � ���� ������� ������������� ����������
PAGER.�� ���������,
man����������
/usr/bin/less -isR. - -S ������_��������
-
������ �������� ����������� �����̣���� �����������, � ������� �������������� �����.
��� ����� �������������� ���������� ���������
MANSECT. - -a
-
�� ��������� ����� ������ ������ ��������� �������� �����������,
man�������� ������. ���������� ��� ����� �������
man�������� �� ������ ������, � ��� �������� ����������� ���������� ��� ��������
���. - -c
-
����������������� �������� �������� �����������, ���� ���� ���������� ���������� ����������������� ��������.
��� ����� ������������, ���� ������ �������� ���� ��������������� ��� ������ � ������ ����������� �������, ��� ����������. - -d
- � ���������������� �� ���������� �������� �����������, �� �������� ���������� ���������� ��� ��� ������������� ������ �������.
- -D
- ���������� � �������� � ���������� ����������.
- -f
-
����������� �������
whatis. - -F ��� —preformat
- �������������� ��� �����������.
- -h
- ������� ������� �� ������ ��������� ������ � ��������� ������.
- -k
-
�� �� ��� � �������
apropos. - -K
- ����� �������� ������ �� *����* ��������� �����������. ��������������: �������� ���� ������� ����� ����� ������! ����� ����� ������ �������� �������. (������ ��� ��������������� ������, �� ���� ������ ��� �������� �������� 500 ������� � ������.)
- -m system
- ������ ��� ������ �������������� ����� ������� �����������, ����������� �� ������� � ��������� ������.
- -p string
-
��������� ���������� ���� �������������� �����
nroff���
troff.�� �ӣ ����������� ����� ������ ����� ��������������. ��������� �������������� � ����� ��� �� �����������:
eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
��� ����� �������������� ���������� ���������
MANROFFSEQ. - -t
-
����������
/usr/bin/groff -Tps -mandoc��� �������������� �������� �����������, ��� ������ ��
stdout.�������� ����� ������� �� �������� �����
/usr/bin/groff -Tps -mandoc����������� ���������� ����� ��������� �������.
- -w ��� —path
-
�� ���������� �������� �����������, �� �������� ���������������(�) ��� ������, ��� ���� �� ��������������� � ��������. ���� �������� �� �����: ������� (�� stdout) ������ ��������� � �������
man������������ ����� ������� �����������. ����
manpath��� ������ �� man, �� «manpath» ���������� «man —path».
- -W
-
������� -w, �� �������� �� ������ ����� ����� �� ������ ��� �������������� ����������. ��� ������� � �������� shell, ��������,
man -aW man | xargs ls -l
�������� CAT
� ����� �������� ������� �������������� �� ��������������, man ����� �������� ��������� ��������������� �������� ����������� ��� ����������� �������.
�����������, ��������������� ������ ������� �� ����������/manX ����������� � ����������/catX, ������ ����� ��������� �
/etc/man.conf
������ ������������ ����� ���������� man � cat.
���������� ������� cat �� ����� �����������, ���� ��������� ������� cat �� ����������.
�� ����� ����������� �������� cat � ��� �� �������������� ��� ������ ������� �� ������ 80 ��������.
�� ����������� �������� cat � ��� ������� � man.conf ������ ���������� NOCACHE.
���� �����������, � ������� suid �������
man
����������� �� ����� ������������ man. �����, ���� ��������� cat ������� ������������
man � ����� ������� � ���� ����������� � 0755 (������ ��������� ������ ������������ man), � ����� cat ����� ����������� ������������ man, � �������������� ������� ������� � ��� � ������ 0644 ��� 0444 (�� ��������� �������� ������ ������������ man, ��� ������ ������), �� ������� ������������ �� ������ �������� �������� cat ��� ��������� ������ ����� � ������� cat. ����
man
�� ��������� suid, � ����� ������ ��� �������������� ����������� ���� ������������� ���������� ����������������� ������� ������� cat ������ ����� ����� ������� 0777.
�����
-c
��������� ����������������� ��������, ���� ���� ���������� ����� ���������������� �������� cat.
���� ������ ������� �����������
��� ������ ������� �����������,
man
���������� ��������� �����, ���������� �� ������ ������ � ���������� ���������, ����� ��������
/etc/man.conf,
� ����� ��������� ���������� ����������� � ���������.
������ �����, ����
���
��������� �������������
man
�������� ��������� �����
(/),
man
��������� ��� ��� �������� �� ����,
� �� ������������ �����.
������ � ������� ������, ���
���
�� �������� ��������� �����,
man
���� � ���� ��������� ����, ���������� �������� ����������� ��� ��������� ����.
���� �� �������� �����
-M ������_�����,
��
������_�����
��� �����̣���� ����������� ������ ��������� � �������
man
���������� �����.
���� �� �� �������
-M,
�� ���������� ���������� ���������
MANPATH,
man
���������� �������� ���������� ��� ������ ��������� ��� ������.
���� �� �� ���������� ������ ������ ����� ������ � �������
-M
���
MANPATH,
man
���������� ����� �� ������ ������ �����, ����������� �� ���������� ����� ������������
/etc/man.conf.
��������, ���������� � ����������
MANPATH
� ���������������� �����, ���������� � ���� ������.
����� ����, �����������
MANPATH_MAP
��������� �������� ��� ������ � ����������� �� ����� ��������� ����� ������ ������
(�.�. ����� ���������� ���������
PATH).
��� ������� �������� ������� ����� ���� ������̣� � ��������� ���� ������ ������,
MANPATH_MAP
������������� ������� ������� ����� ���� �������� � ���� ������ ������ ������� �����������.
man
������ �������� ����������
PATH
� ��������� ��������������� �������� � ���� ������ ������ ������� �����������. ����� �������, ��� ������� �������������
MANPATH_MAP,
����� �� ��������� �������
man xyz,
�� ��������� �������� ����������� ��� ���������, ����������� ������� �������
xyz.
����� ����, ��� ������� �������� � ���� ������ ������� (����� �������� ��� «������� ������»), ��� ��������
��
����������
MANPATH_MAP,
man
������������� ���� ���������� ������� �� ���������� �����������, � ������ � ����������� �������� ������ ��� ������������ �������� ��� �������� ������.
����������� ����������
NOAUTOPATH
���������� �
/etc/man.conf,
�� ������ ��������� �������������� ����� «����������».
� ������ �������� ����������� � ������ ���� ������ ��� ������� ����,
man
���� ���� � ������
����.������,
������� ������ ������� � ��������� ������� ������ �������������.
���� ����� ���� �� ������, �� ����� ������������ � ����� ������������ � ������
manN
���
catN,
���
N
��� ����� ������� �����������.
���� ���� ������ � ��������
catN,
man
������������, ��� ��� ��������������� �������� ����������� (�������� cat). �����,
man
������� ţ �� ���������������. ��� � ���, ��� � � ������ ������, ���� ��� ����� ����� ������� ������ (��������,
.gz),
man
�������, ��� ���� ����.
���� �� ������ ����� ��� (��� ����)
man
��ۣ� �������� ����������� ��� �������� ����, ����������� �����
—path (-w).
���������
- MANPATH
-
���� ����������
MANPATH�����������, ��
man���������� ţ ��� ������ ������� �����������. ��� �������������� ���� �������� � �������������� ���� ������, �� ���� ���������������� �������� �����
-M.��������
���� ������ ������� �����������. - MANPL
-
����
MANPL�����������, �� ţ �������� ������������ ��� ����� �������� ��� ������.
�����, ��� �������� ����������� ����� ������������ ����� (�������) ���������.
MANROFFSEQ���� �����������
MANROFFSEQ,�� ţ �������� ������������ ��� ����������� �������������� ��� ���������� ����� ��������
nroff���
troff.�� ���������, �����
nroff,�������� ������������ ����� ������������ tbl.
- MANSECT
-
���� ����������� ����������
MANSECT,�� ţ �������� ���������� ������, � ������� ����� �������������� �����.
- MANWIDTH
-
����
MANWIDTH�����������, �� ţ �������� ������������ ��� ������ ������� ��� ������.
� ��������� ������, ����� ������� ����� ����� �� ������ ������. - MANPAGER
-
���� ����������
MANPAGER�����������, �� ţ �������� ������������ ��� ��� ���������, ����������� ��� ����������� �������� �����������. ���� �� �����������, ����� ����� ������������ ����������
PAGER.���� ��� ����� �� �����������, �� ����� ��������� �������
/usr/bin/less -isR. - LANG
-
���� ����������� ����������
LANG,�� ţ �������� ���������� ��� �����������, ��� �������� ����������� ������ � ������ �������. ���, ������� ‘LANG=ru man 1 foo’ ������� man ������ �������� ����������� foo � …/ru/man1/foo.1,
� ���� ���� ���� �� ����� ������, �� � …/man1/foo.1,
��� … ��� ������� �� ���� ������. - NLSPATH, LC_MESSAGES, LANG
-
���������� ���������
NLSPATH�
LC_MESSAGES(���
LANG,���� ��������� �� �����������)
������ ���� ���� � ����������� �������� ���������.
(�������� ��������� �� ����������, ������� � ������������� � man, ������� ������� ��������� ��� ����������� ����� �� ���������.)
������, ��� ����� ��������� ���
col(1)���������� man ����� ���������� LC_CTYPE.
- PATH
-
PATH
�������� ���������� ���� ������ ������ �� ���������� �����������. ��������
���� ������ ������� �����������. - SYSTEM
-
SYSTEM
������������ ��� ������� ��������������� ����� ������� (��� ������������� � ������
-m).
������ �����
apropos(1),
whatis(1),
less(1),
groff(1),
man.conf(5).
������
�����
-t
�������� ������ ���� ����������� ���������, �������� troff.
���� �� ������ �������� \255 ��� <AD> ����� ��������,
�������� � ��ϣ ��������� ‘LESSCHARSET=latin1’.
������
���� �� �������� ��������� ������
(global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))
� ��� ����
.emacs,
�� ������� ������� F1 ����� ��������� �������� ����������� �� ������������ �������, �� �������� ������� ��������� ������.
����� �������� ������� ��������� ������ �������� �����������, ��� �������� �������� � ���ޣ��������, ���������� ������� ����
# man foo | col -b > foo.mantxt
�������
������� �������� (Vasily Kolomeets) <boojuman@gmail.com>
Index
- ��������
- ���������
- ��������
- �����
- �������� CAT
- ���� ������ ������� �����������
- ���������
- ������ �����
- ������
- ������
- �������
Время на прочтение
8 мин
Количество просмотров 32K
Первый отрывок третьей части серии руководств для новичков. Практически всё, что нужно знать, чтобы найти справочную информацию по вашей системе. Короче, RTFM и не задавайте глупых вопросов.
Навигация по основам Linux от основателя Gentoo:
Часть I: 1, 2, 3, 4
Часть II: 1, 2, 3, 4, 5
Часть III
- Документация (вступление)
- Модель прав доступа
- Управление аккаунтами
- Настройка окружения (итоги и ссылки)
Предисловие
Об этом руководстве
Встречайте «Администрирование для продолжающих», третье из четырех пособий, созданных для подготовки к экзамену «Linux Professional Institute’s 101» (2-ая редакция). Данная часть идеальна для тех, кто хочет улучшить свои знания фундаментальных основ администрирования Linux. Мы охватим ряд тем, включая системную и интернет документацию, модель прав доступа в Linux, управление аккаунтами пользователей и настройку окружения входа в систему.
Если вы новичок в Linux, рекомендуем начать с Частей 1 и 2. Для некоторых большая часть информации, изложенной в самоучителе, будет новой, но более опытные пользователи могут использовать его для того, чтобы отточить свои навыки администрирования Linux.
В конце серии этих руководств (всего их восемь, подготавливающих к экзаменам LPI 101 и 102) у вас будут все знания, необходимые для того, чтобы стать системным администратором Linux систем, а так-же вы будете готовы к получению сертификата LPIC уровня 1 от института Linux Professional.
Системная и сетевая документация
Типы системной документации в Linux
Существует три основных источника документации в Linux системах: страницы руководств (маны), info-страницы и поставляемая с приложениями документация в /usr/share/doc. В этом разделе мы рассмотрим каждый из этих источников, перед тем, как обращаться во внешний мир за дополнительной информацией.
Страницы руководств
Страницы руководств, или “man (от англ. manual — руководство) страницы”, ман-страницы, далее просто маны — это классическая форма справочной документации UNIX и Linux. В идеале, вы можете найти ман для любой команды, конфигурационного файла или библиотеки. Однако, на практике, Linux это бесплатное программное обеспечение и некоторые страницы руководств не были написаны или устарели. Тем не менее, маны остаются первым местом, куда следует обращаться за помощью.
Для доступа к ману просто введите man, а затем ваш запрос. Запустится программа-пейджер (просмотрщик, обычно less или more) со справочной информацией. Для того, чтобы закрыть её, нажмите клавишу q. Например, чтобы посмотреть информацию о команде ls, введите:
$ man ls
Знание структуры мана поможет быстро перемещаться к необходимой вам информации. Обычно, вы найдете следующие разделы в мане:
NAME (ИМЯ) | Имя и однострочное описание команды |
SYNOPSIS (ОБЗОР) | Краткий обзор |
DESCRIPTION (ОПИСАНИЕ) | Углублённое описание функционала команды |
EXAMPLES (ПРИМЕРЫ) | Советы по использованию |
SEE ALSO (СМОТРИ ТАКЖЕ) | Связаные темы (обычно также ман-страницы) |
Секции ман-страниц
Файлы, содержащие информацию манов хранятся в /usr/share/man (или в /usr/man на некоторых старых системах). В этой директории вы найдёте страницы руководств, упорядоченные по следующим секциям:
man1 | Пользовательские программы |
man2 | Системные вызовы |
man3 | Библиотечные функции |
man4 | Специальные файлы |
man5 | Форматы файлов |
man6 | Игры |
man7 | Другое |
Многочисленные ман-страницы
Некоторые темы существуют более чем в одной секции. Для демонстрации этого воспользуюемся командой whatis, показывающей доступные маны по теме:
$ whatis printf
printf (1) - format and print data printf (3) - formatted output conversion
В данном случае, man printf по-умолчанию обратится к странице в секции 1 (Пользовательские программы). Если мы пишем программу на языке C, нас вероятно больше интересует страница из секции 3 (Библиотечные функции). Вы можете вызывать ман необходимой секции указав это в командной строке, так для вызова printf(3) мы введём:
$ man 3 printf
Поиск нужного мана
Иногда сложно найти правильную ман-страницу по заданной теме. В этом случае можно воспользоваться man -k для поиска по разделам «ИМЯ» ман-страниц. Но будьте осторожны, поскольку осуществляется поиск по подстроке и что-то, навроде man -k ls, выдаст очень много всего! Вот пример использования уточняющего запроса:
$ man -k whatis
apropos (1) - search the whatis database for strings makewhatis (8) - Create the whatis database whatis (1) - search the whatis database for complete words
Всё об “apropos”
Предыдущий пример не случаен. Во-первых, команда apropos полностью соответствует команде man -k. (На самом деле, я даже вам раскрою небольшой секрет. Когда вы запускаете man -k, фактически «за кулисами» стартует apropos). Во-вторых, существует команда makewhatis, которая сканирует все страницы в вашей Linux системе и создает базу данных для whatis и apropos. Обычно она запускается периодически из-под рута, чтобы поддерживать базу в актуальном состоянии:
# makewhatis
Для более подробной информации о команде «man» и её друзьях, вам стоит начать с изучения её собственной ман-страницы:
$ man man
MANPATH
По умолчанию, программа man будет искать ман-страницы в /usr/share/man, /usr/local/man, /usr/X11R6/man, и быть может в /opt/man. Возможно, вы захотите добавить новый пункт в этом пути поиска. Для этого, просто откройте /etc/man.conf в текстовом редакторе и добавьте строчку вроде такой:
MANPATH /opt/man
С этого момента, страницы руководств в директориях /opt/man/man* также будут найдены. Помните, что вам необходимо запустить makewhatis, чтобы добавить новые маны в базу whatis.
GNU info
Одно из ограничений страниц руководств это то, что они не поддерживают гипертекст, так что у вас не получится просто переходить от одного руководства к другому. Ребята из GNU увидели этот недостаток и ввели другой формат документации: инфо-страницы. Многие из программ GNU идут с расширенной документацией в формате инфо-страниц. Вы можете приступить к чтению инфо-страниц при помощи комманды «info»:
$ info
Простой вызов команды info даст список доступных инфо-страниц в вашей системе. Вы можете перемещаться по нему используя стрелки, переходить по ссылкам (которые обозначены звездочкой) с помощью клавиши Enter и выйти нажав q. Навигация основана на таковой в Emacs, так что если вы знакомы с этим редактором, вам будет легко освоиться. Чтобы познакомиться с Emacs, посмотрите руководство на developerWorks: Living in Emacs.
Вы также можете указать нужную инфо-страницы в командной строке:
$ info diff
Чтобы получить больше информации об использовании просмотрщика инфо-страниц, попробуйте прочитать его собственную инфо-страницу. Вы сможете перемещаться по документу просто используя несколько клавиш о которых я уже упоминал:
$ info info
/usr/share/doc
Есть еще один источник помощи в вашей системе Linux. Большинство программ поставляются с дополнительной документацией в других форматах, таких как: простые текстовые файлы, PDF, PostScript, HTML. Посмотрите в каталоге usr/share/doc (или /usr/doc на более старых системах). Вы найдете длинный список директорий, каждая из которых идет с определенным приложением на вашей системе. Поиск по этой документации может навести вас на очень ценную информацию, которая не доступна в манах или инфо-страницах, такую как учебники или дополнительная технической документация. Беглый взгляд указывает на то, что здесь очень много материала для чтения:
$ cd /usr/share/doc
$ find . -type f | wc -l
7582
Фьюу! Вашим домашним заданием на этот вечер будет прочитать всего лишь половину (3791) этих документов. Учтите, завтра будет опрос.
Linux Documentation Project
В дополнение к системной документации, в интернете существует ряд отличных ресурсов посвященных Linux. «Linux Documentation Project» (LDP) — это группа добровольцев, которые занимаются составлением полного набора свободной документации по Linux. Данный проект существует чтобы собрать различные части документации по Linux в определенным месте, где её будет легко искать и использовать.
Обзор LDP
LDP состоит из следующих разделов:
- Guides (руководства) — большие, очень серьезные пособия, такие как The Linux Programmer’s Guide (Руководство программиста Linux)
- HOWTOs — помощь по конкретной теме, например DSL HOWTO
- FAQs — сборники ответов на часто задаваемые вопросы, навроде этого Brief Linux FAQ
- Man pages — помощь по конкретной команде (это те же самые маны, что вы видите в вашей системе, когда используете команду man).
Если вы не уверены какой раздел смотреть, вы можете воспользоваться богатыми возможностями поиска, который позволит найти всё, что есть по теме.
LDP в добавок предоставляет доступ к списку ссылок и ресурсов, таких как Linux Gazette и Linux Weekly News, а также к спискам рассылки и архивам новостей.
Списки рассылки
Списки рассылки являются, вероятно, самым важным средством взаимодействия разработчиков Linux. Зачастую проекты разрабатываются участниками живущими на большом расстоянии друг от друга, возможно даже на противоположных сторонах земного шара. Списки рассылки представляют метод взаимодействия, в котором каждый разработчик проекта может связаться со всеми остальными и вместе дискутировать посредством электронной почты. Один из самых известных списков рассылки разработчиков, это Linux Kernel Mailing List (список рассылки ядра Linux).
Еще о списках рассылки
В дополнение к разработке, списки рассылки могут предоставлять возможность задавать вопросы и получать ответы от знающих разработчиков или даже других пользователей. К примеру, отдельные дистрибутивы часто предоставляют список рассылки для новичков. Вы можете проверить на сайте вашего дистрибутива информацию о том, какие списки рассылки он предлагает.
Если вы уделили время чтобы прочитать LKML FAQ по ссылке выше, то возможно заметили, что подписчики на списки рассылок часто недружелюбно относятся к вопросам, которые часто повторяются. Всегда разумно поискать в архивах рассылки перед тем, как задавать свой вопрос. Есть шансы, что это сэкономит и ваше время тоже!
Группы новостей
Новостные группы (англ. newsgroups) в интернете похожи на списки рассылки, но основаны на другом протоколе, который называется NNTP (Network News Transfer Protocol, что в переводе «Сетевой протокол передачи новостей»), а не на обмене электронной почтой. Чтобы иметь возможность общаться, вам придется установить NTTP-клиент, например slrn или pan. Основным преимуществом является тот факт, что вы можете принять участие в дискуссии, когда вам это нужно, а не постоянно смотреть как она ломится в ваш почтовый ящик
Наибольший интерес представляют новостные группы начинающиеся с comp.os.linux. Посмотреть список групп вы можете на сайте LDP.
Сайты поставщиков и прочие
Сайты различных дистрибутивов Linux зачастую предоставляют обновленную документацию, инструкции по установке, информацию о совместимости или несовместимости с оборудованием и другие средства поддержки, такие как поиск по базе знаний. Например:
- Redhat Linux
- Debian Linux
- Gentoo Linux
- SuSE Linux
- Caldera
- Turbolinux
Поставщики аппаратного и программного обеспечения
В последние годы, многие поставщики устройств и программного обеспечения добавили поддержку Linux для своих продуктов. На их сайтах вы можете найти информацию о том, какое оборудование поддерживает Linux, найти инструменты разработки программ, исходники, скачать драйвера для Linux под конкретное устройство, а также, узнать о других всевозможных Linux-проектах. Например:
- IBM и Linux
- HP и Linux
- Sun и Linux
- Oracle и Linux.
Перевод выполнил коллективный разум с помощью notabenoid.com. Спасибо хабравчанам (в алф. порядке): DMinsky, habrrich и kindacute (на хабре?). Их карма заслуживает плюсов. Если кого не упомянул, напишите в личку или в комментариях.
Продолжение…
Об авторах
Daniel Robbins
Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.
Chris Houser
Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.
Aron Griffis
Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».
Updated: 11/06/2021 by
On Linux and other Unix-like operating systems, man is the interface used to view the system’s reference manuals.
Description
man is the system’s manual viewer; it can be used to display manual pages, scroll up and down, search for occurrences of specific text, and other useful functions.
Each argument given to man is normally the name of a program, utility or function. The manual page associated with each of these arguments is then found and displayed. A section number, if provided, will direct man to look only in that section of the manual. The default action is to search in all of the available sections, following a pre-defined order and to show only the first page found, even if page exists in several sections.
Syntax
man [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-m system[,...]] [-M path] [-S list] [-e extension] [-i|-I] [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justification] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[section] page ...] ...
man -k [apropos options] regexp ...
man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...
man -f [whatis options] page ...
man -l [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager] [-r prompt] [-7] [-E encoding] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] file ...
man -w|-W [-C file] [-d] [-D] page ...
man -c [-C file] [-d] [-D] page ...
man [-hV]
General options
-h, —help | Print a help message and exit. |
-V, —version | Display version information and exit. |
-C file, —config-file=file |
Use configuration file file rather than the default of ~/.manpath. |
-d, —debug | Print debugging information. |
-D, —default | This option, when used, is normally specified as the first option; it resets man‘s behaviour to its default. Its use is to reset those options that may have been set in $MANOPT. Any options that follow -D will have their usual effect. |
—warnings[=warnings] | Enable warnings from the groff text formatter. This may be used to perform sanity checks on the source text of manual pages. The warnings is a comma-separated list of warning names; if it is not supplied, the default is «mac«. See the «Warnings» node in the groff info page for a list of available warning names. |
Options: Main modes of operation
-f, —whatis | Equivalent to the whatis command; displays a short description from the manual page, if available. |
-k, —apropos | Equivalent to the apropos command; Search the short manual page descriptions for keywords and display any matches. |
-K, —global-apropos |
Search for text in all manual pages. This option is a brute-force search, and is likely to take some time; if you can, you should specify a section to reduce the number of pages that need to be searched. Search terms may be simple strings (the default), or regular expressions if the —regex option is used. |
-l, —local-file | Activate ‘local’ mode. Format and display local manual files instead of searching through the system’s manual collection. Each manual page argument will be interpreted as an nroff source file in the correct format. No cat file is produced. If a dash (‘—‘) is listed as one of the arguments, input will be taken from stdin. When this option is not used, and man fails to find the page required, before displaying the error message it attempts to act as if this option was supplied, using the name as a file name and looking for an exact match. |
-w, —where, —location |
Don’t actually display the manual pages; instead print the location(s) of the source nroff files that would be formatted. |
-W, —where-cat, —location-cat |
Don’t actually display the manual pages, but do print the location(s) of the cat files that would be displayed. If -w and -W are both specified, print both, separated by a space. |
-c, —catman | This option is not for general use and should only be used by the catman program. |
-R encoding, —recode=encoding |
Instead of formatting the manual page in the usual way, output its source converted to the specified encoding. If you already know the encoding of the source file, you can also use manconv directly. However, this option allows you to convert several manual pages to a single encoding without having to explicitly state the encoding of each, provided that they were already installed in a structure similar to a manual page hierarchy. |
Options: finding manual pages
-L locale, —locale=locale | man will normally determine your current locale by a call to the C function setlocale which checks the values of various environment variables, possibly including $LC_MESSAGES and $LANG. To temporarily override the determined value, use this option to supply a locale string directly to man. Note that it will not take effect until the search for pages actually begins. Output such as the help message will always be displayed in the initially determined locale. |
-m system[,…], —systems=system[,…] |
If this system has access to other operating system’s manual pages, they can be accessed using this option. To search for a manual page from (for example) the «NewOS» manual page collection, use the option -m NewOS.
The system specified can be a combination of comma delimited operating system names. To include a search of the native operating system’s manual pages, include the system name man in the argument string. This option will override the $SYSTEM environment variable. |
-M path, —manpath=path | Specify an alternate manpath to use. This option overrides the $MANPATH environment variable and causes option -m to be ignored.
A path specified as a manpath must be the root of a manual page hierarchy structured into sections as described in the man-db manual (under «The manual page system»). To view manual pages outside such hierarchies, see the -l option. |
-S list, -s list, —sections=list | The list is a colon- or comma-separated list of `order specific’ manual sections to search. This option overrides the $MANSECT environment variable. (The -s spelling is for compatibility with System V.) |
-e sub-extension, —extension=sub-extension |
Some systems incorporate large packages of manual pages, such as those that accompany the Tcl package, into the main manual page hierarchy. To get around the problem of having two manual pages with the same name such as exit, the Tcl pages were usually all assigned to section l (lowercase L). However, it is now possible to put the pages in the correct section, and to assign a specific «extension» to them, in this case, exit(3tcl). Under normal operation, man displays exit in preference to exit(3tcl). To negotiate this situation and to avoid having to know which section the page you require resides in, it is now possible to give man a sub-extension string indicating the package of the page. Using the above example, supplying the option -e tcl to man will restrict the search to pages having an extension of *tcl. |
-i, —ignore-case | Ignore case when searching for manual pages. This option is the default. |
-I, —match-case | Search for manual pages case-sensitively. |
—regex | Show all pages with any part of either their names or their descriptions matching each page argument as a regular expression, as with apropos. Since there is usually no reasonable way to pick a «best» page when searching for a regular expression, this option implies -a. |
—wildcard | Show all pages with any part of either their names or their descriptions matching each page argument using shell-style wildcards, as with apropos —wildcard. The page argument must match the entire name or description, or match on word boundaries in the description. Since there is usually no reasonable way to pick a «best» page when searching for a wildcard, this option implies -a. |
—names-only | If the —regex or —wildcard option is used, match only page names, not page descriptions, as with whatis. Otherwise, this option has no effect. |
-a, —all | By default, man will exit after displaying the most suitable manual page it finds. Using this option forces man to display all the manual pages with names that match the search criteria. |
-u, —update | This option causes man to perform an inode-level consistency check on its database caches to ensure that they are an accurate representation of the filesystem. It will only have a useful effect if man is installed with the setuid bit set. |
—no-subpages | By default, man will try to interpret pairs of manual page names given on the command line as equivalent to a single manual page name containing a hyphen or an underscore. This supports the common pattern of programs that implement a number of subcommands, allowing them to provide manual pages for each that can be accessed using similar syntax as would be used to invoke the subcommands themselves. For example, the command:
man -aw git diff displays the manual page: /usr/share/man/man1/git-diff.1.gz To disable this behaviour, use the —no-subpages option. For example: man -aw --no-subpages git diff will instead show the manual pages for both git and diff: /usr/share/man/man1/git.1.gz /usr/share/man/man3/Git.3pm.gz /usr/share/man/man1/diff.1.gz |
Options: Controlling formatted output
-P pager, —pager=pager | Specify which output pager to use. By default, man uses pager -s. This option overrides the $MANPAGER environment variable, which in turn overrides the $PAGER environment variable. It is not used in conjunction with -f or -k.
The value may be a simple command name or a command with arguments, and may use shell quoting (backslashes, single quotes, or double quotes). It may not use pipes to connect multiple commands; if you need that, use a wrapper script, which may take the file to display either as an argument or on standard input. |
||||||||||||||||||||
-r prompt, —prompt=prompt |
If a recent version of less is used as the pager, man attempts to set its prompt and some sensible options. The default prompt looks like:
Manual page name(sec) line x …where name denotes the manual page name, sec denotes the section it was found under and x the current line number. This is achieved using the $LESS environment variable. Supplying -r with a string overrides this default. The string may contain the text $MAN_PN which is expanded to the name of the current manual page and its section name surrounded by «(» and «)«. The string used to produce the default could be expressed as \ Manual\ page\ \$MAN_PN\ ?ltline\ %lt?L/%L.:byte\ %bB?s/%s..?\ (END):?pB\ %pB\\%..(press h for help or q to quit) It is broken into three lines here for the sake of readability only. For its meaning see the manual for less. The prompt string is first evaluated by the shell. All double quotes, back-quotes and backslashes in the prompt must be escaped by a preceding backslash. The prompt string may end in an escaped $ which may be followed by further options for less. By default, man sets the -ix8 options. To override man‘s prompt string processing completely, use the $MANLESS environment variable described below. |
||||||||||||||||||||
-7, —ascii |
When viewing a pure ASCII manual page on a 7-bit terminal or terminal emulator, some characters may not display correctly when using the latin1 device description with GNU nroff. This option allows pure ASCII manual pages to be displayed in ASCII with the latin1 device. It will not translate any latin1 text. The following table shows the translations performed: some parts of it may only be displayed properly when using GNU nroff‘s latin1 device.
This table is included in the man manpage. If these characters are viewed inside your terminal and the latin1 column displays correctly, your terminal may be set up for latin1 characters and this option is not necessary. If the latin1 and ASCII columns are identical, then either you are viewing the man manual page using this option or man did not format this page using the latin1 device description for some reason. If the latin1 column is missing or corrupt, you may need to view manual pages with this option specified. This option is ignored when using options -t, -H, -T, or -Z and may be useless for versions of nroff other than GNU’s. |
||||||||||||||||||||
-E encoding, —encoding=encoding |
Generate output for a character encoding other than the default. For backward compatibility, encoding may be an nroff device such as ascii, latin1, or utf8 as well as a true character encoding such as UTF-8. | ||||||||||||||||||||
—no-hyphenation, —nh |
Normally, nroff will automatically hyphenate text at line breaks even in words that do not contain hyphens, if it is necessary to do so to lay out words on a line without excessive spacing. This option disables automatic hyphenation, so words will only be hyphenated if they already contain hyphens.
If you are writing a manual page and want to prevent nroff from hyphenating a word at an inappropriate point, do not use this option, but consult the nroff documentation instead; for instance, you can put «\%» inside a word to indicate that it may be hyphenated at that point, or put «\%» at the start of a word to prevent it from being hyphenated. |
||||||||||||||||||||
—no-justification, —nj | Normally, nroff will automatically justify text to both margins. This option disables full justification, leaving justified only to the left margin, sometimes called «ragged-right» text.
If you are writing a manual page and want to prevent nroff from justifying certain paragraphs, do not use this option, but consult the nroff documentation instead; for instance, you can use the «.na«, «.nf«, «.fi«, and «.ad» requests to temporarily disable adjusting and filling. |
||||||||||||||||||||
-p string, —preprocessor=string |
Specify the sequence of preprocessors to run before nroff or troff/groff. Not all installations will have a full set of preprocessors. Some of the preprocessors and the letters used to designate them are: eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r). This option overrides the $MANROFFSEQ environment variable. zsoelim is always run as the very first preprocessor. | ||||||||||||||||||||
-t, —troff | Use groff -mandoc to format the manual page to standard output. This option is not required in conjunction with -H, -T, or -Z. | ||||||||||||||||||||
-T[device], —troff-device[=device] |
This option is used to change groff (or possibly troff‘s) output to be suitable for a device other than the default. It implies -t. Examples include dvi, latin1, ps, utf8, X75 and X100. | ||||||||||||||||||||
-H[browser], —html[=browser] |
This option will cause groff to produce HTML output, and will display that output in a web browser. The choice of browser is determined by the optional browser argument if one is provided, by the $BROWSER environment variable, or by a compile-time default if that is unset (usually lynx). This option implies -t, and will only work with GNU troff. | ||||||||||||||||||||
-X[dpi], —gxditview[=dpi] |
This option displays the output of groff in a graphical window using the gxditview program. The dpi (dots per inch) may be 75, 75-12, 100, or 100-12, defaulting to 75; the -12 variants use a 12-point base font. This option implies -T with the X75, X75-12, X100, or X100-12 device, respectively. | ||||||||||||||||||||
-Z, —ditroff | groff will run troff and then use an appropriate post-processor to produce output suitable for the chosen device. If groff -mandoc is groff, this option is passed to groff and will suppress the use of a post-processor. It implies -t. |
Section numbers
The section numbers of the manual are listed below. While reading documentation, if you see a command name followed by a number in parentheses, the number refers to one of these sections. For example, man is the documentation of man found in section number 1. Some commands may have documentation in more than one section, so the numbers after the command name may direct you to the correct section to find a specific type of information.
The section numbers, and the topics they cover, are as follows:
section # | topic |
---|---|
1 | Executable programs or shell commands |
2 | System calls (functions provided by the kernel) |
3 | Library calls (functions within program libraries) |
4 | Special files (usually found in /dev) |
5 | File formats and conventions eg /etc/passwd |
6 | Games |
7 | Miscellaneous (including macro packages and conventions), e.g., man, groff |
8 | System administration commands (usually only for root) |
9 | Kernel routines [Non standard] |
Exit status
When it terminates, man will return one of the following exit status:
0 | Returned upon successful program execution. |
1 | Returned if there was a usage, syntax, or configuration file error. |
2 | Returned if there was an operational error. |
3 | Returned if a child process returned a non-zero exit status. |
16 | Returned if one or more of the pages, files, or keywords searched for did not exist or was not matched. |
Environment
man makes use of the following environment variables:
MANPATH | If $MANPATH is set, its value is used as the path to search for manual pages. |
MANROFFOPT | The contents of $MANROFFOPT are added to the command line every time man invokes the formatter (nroff, troff, or groff). |
MANROFFSEQ | If $MANROFFSEQ is set, its value is used to determine the set of preprocessors to pass through each manual page. The default preprocessor list is system-dependent. |
MANSECT | If $MANSECT is set, its value is a colon-delimited list of sections and it is used to determine which manual sections to search and in what order. |
MANPAGER, PAGER | If $MANPAGER or $PAGER is set ($MANPAGER is used in preference), its value is used as the name of the program used to display the manual page. By default, pager -s is used.
The value may be a simple command name or a command with arguments, and may use shell quoting (backslashes, single quotes, or double quotes). It may not use pipes to connect multiple commands; if you need that, use a wrapper script, which may take the file to display either as an argument or on standard input. |
MANLESS | If $MANLESS is set, man will not perform any of its usual processing to set up a prompt string for the less pager. Instead, the value of $MANLESS will be copied verbatim into $LESS. For example, if you want to set the prompt string unconditionally to «my prompt string», set $MANLESS to ‘-Psmy prompt string’. |
BROWSER | If $BROWSER is set, its value is a colon-delimited list of commands, each of which in turn is used to try to start a web browser for man —html. In each command, %s is replaced by a file name containing the HTML output from groff, %% is replaced by a single percent sign (%), and %c is replaced by a colon (:). |
SYSTEM | If $SYSTEM is set, it will have the same effect as if it had been specified as the argument to the -m option. |
MANOPT | If $MANOPT is set, it will be parsed prior to man‘s command line and is expected to be in a similar format. As all of the other man specific environment variables can be expressed as command line options, and are thus candidates for being included in $MANOPT it is expected that they will become obsolete. Note: all spaces that should be interpreted as part of an option’s argument must be escaped (preceded with a backslash). |
MANWIDTH | If $MANWIDTH is set, its value is used as the line length for which manual pages should be formatted. If it is not set, manual pages will be formatted with a line length appropriate to the current terminal (using an ioctl if available, the value of $COLUMNS, or falling back to 80 characters if neither is available). cat pages will only be saved when the default formatting can be used, that is when the terminal line length is between 66 and 80 characters. |
MAN_KEEP_FORMATTING | Normally, when output is not being directed to a terminal (such as to a file or a pipe), formatting characters are discarded to make it easier to read the result without special tools. However, if $MAN_KEEP_FORMATTING is set to any non-empty value, these formatting characters are retained. This may be useful for wrappers around man that can interpret formatting characters. |
MAN_KEEP_STDERR | Normally, when output is being directed to a terminal (usually to a pager), any error output from the command used to produce formatted versions of manual pages is discarded to avoid interfering with the pager’s display. Programs such as groff often produce relatively minor error messages about typographical problems such as poor alignment, which are unsightly and generally confusing when displayed along with the manual page. However, you might want to see them anyway, so if $MAN_KEEP_STDERR is set to any non-empty value, error output will be displayed as usual. |
LANG, LC_MESSAGES | Depending on system and implementation, either or both of $LANG and $LC_MESSAGES will be interrogated for the current message locale. man will display its messages in that locale (if available). |
Files
The following files are used by man:
/etc/manpath.config | The man-db configuration file. |
/usr/share/man | A global manual page hierarchy. |
/usr/share/man/index.(bt|db|dir|pag) | A traditional global index database cache. |
/var/cache/man/index.(bt|db|dir|pag) | An FHS compliant global index database cache. |
Examples
man man
View the manual page for the man command.
man --nh --nj man
View the manual page for man, with no hyphenated words or justified lines.
apropos — Search the manual pages for a keyword or regular expression.
info — Read Info documents.
whatis — Display short manual page descriptions.
Table of Contents
Документация UNIX
Использование команды man
Разделы man страниц
1. USER COMMANDS 2. SYSTEM CALLS 3. C LIBRARY FUNCTIONS 4. DEVICES AND NETWORK INTERFACES 5. FILE FORMATS 6. GAMES AND DEMOS 7. ENVIRONMENTS, TABLES, AND TROFF MACROS 8. MAINTENANCE COMMANDS 9. X WINDOW SYSTEM
Варианты использования
$ man crontab $ man 5 crontab $ man -M /usr/local/rancid/share/man cloginrc $ groff -man -Tascii /usr/local/rancid/share/man/man1/clogin.1 | less $ zcat /usr/share/man/man1/cat.1.gz | groff -man -Tascii
Поиск man страниц
$ whatis 2303 $ man -k password
Секции man страниц
NAME SYNOPSIS DESCRIPTION ENVIRONMENT EXIT STATUS SEE ALSO