Linux man руководство по

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

Время на прочтение
8 мин

Количество просмотров 32K

Первый отрывок третьей части серии руководств для новичков. Практически всё, что нужно знать, чтобы найти справочную информацию по вашей системе. Короче, RTFM и не задавайте глупых вопросов.

Навигация по основам Linux от основателя Gentoo:

Часть I: 1, 2, 3, 4

Часть II: 1, 2, 3, 4, 5

Часть III
  1. Документация (вступление)
  2. Модель прав доступа
  3. Управление аккаунтами
  4. Настройка окружения (итоги и ссылки)

Предисловие

Об этом руководстве

Встречайте «Администрирование для продолжающих», третье из четырех пособий, созданных для подготовки к экзамену «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. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».

Man страницы в Linux

При работе в Linux иногда требуется чтение документации, руководств или help’ов. В Linux есть отличная документация, которая размещена в Man-страницах.

Что такое Man-страницы

Man-страницы (от слова manual — руководство) — это целая библиотека в системе Linux, содержащая руководства по командам, утилитам, программированию и другим областям системы и не только.

Как открыть Man-страницы

Для чтения Man-страниц предназначена команда man.

Чтобы получить руководство по использованию какой-либо команды нужно выполнить команду:

man название_команды

Например, чтобы вывести руководство по команде wget, нужно выполнить команду:

man wget

man wget

Синтаксис команды man

В общем виде синтаксис команды man следующий:

man [опции] [номер раздела] название

Разделы

Man-страницы разделены по тематикам на разделы (на секции). Каждый раздел имеет свой номер. Всего существует 8 основных разделов.

Если вы не указали раздел, при выполнении команды man, то сначала будет выполнен поиск руководства в первом разделе, если его там нет, то во втором и так далее.

Например, откроем руководство по команде sleep. В данном случае будет использоваться первый раздел.

man sleep

man sleep

А теперь получим справку по библиотечному вызову sleep языка программирования C (раздел 3):

man 3 sleep

man 3 sleep

Ниже представлена таблица с номерами разделов и их назначением (тематикой).

Номер
раздела
Описание
1 Основные команды.
2 Системные вызовы.
3 Библиотечные функции, включая стандартную библиотеку языка C.
4 Специальные файлы (обычно устройства из /dev) и драйвера.
5 Форматы файлов и соглашения.
6 Игры и скринсейверы.
7 Разное.
8 Команды системного администрирования и демоны.

Для указания ссылок на Man-страницы часто используют следующую запись: имя(раздел). Например, aporopos(1), less(1), exit(3).

Поиск Man-страниц

Самая полезная опция команды man, это опция -k.

-k — поиск Man-страниц. Выводит список Man-страниц, в которых встречается искомый запрос.

man -k kill

Горячие клавиши и поиск внутри Man-страницы

Вверх, Вниз, Enter — просмотр (прокрутка) Man-страницы.
PgUb, PgDn, Пробел — постраничное пролистывание.

/ — поиск внутри страницы. Нажимаете клавишу /, при этом внизу появляется строка для ввода текста. Вводите текст, который вы хотите найти, и нажимаете Enter.
? — поиск в обратном направлении (снизу вверх). Аналогично нужно ввести текст для поиска и нажать Enter.
n — переход к следующему вхождению.
Shift+n — переход к предыдущему вхождению.
& — поиск внутри страницы, но вместо подсвечивания результатов, вывести только строки, где было найдено искомое слово.

h — открыть справку по командам и горячим клавишам. Чтобы закрыть справку, используется клавиша q.

q — закрыть Man-страницу.

Установка Man-страниц

Как правило, базовые man-страницы обычно всегда установлены в дистрибутивах Linux, но иногда их нужно устанавливать самостоятельно. Для установки Man-страниц выполните следующие команды.
Для Ubuntu:

sudo apt install man-db manpages

Для Fedora, CentOS:

yum install man man-pages man-db

Для установки Man-страниц, содержащих описание библиотечных функций языка программирования C, выполните следующие команды.
Для Ubuntu:

sudo apt install manpages-dev manpages-posix-dev

Для Fedora:

yum install libstdc++-docs

Фундаментальные основы Linux. Часть II: Первые шаги в изучении интерфейса командной строки

Оригинал:

Linux Fundamentals

Автор: Paul Cobbaut

Дата публикации: 16 октября 2014 г.

Перевод: А.Панин

Дата перевода: 11 декабря 2014 г.

В данной главе описывается методика использования man-страниц (также называемых страницами руководств) при работе с вашим компьютером под управлением Unix или Linux.

Вы узнаете о том, как использовать команду man, а также такие связанные с ней команды, как whereis, whatis и mandb.

Большинство файлов и утилит в системах Unix имеет отличные страницы руководств с пояснениями относительно их использования. Страницы руководств становятся особенно полезными в тех случаях, когда вы используете множество различных разновидностей систем Unix или несколько дистрибутивов Linux, так как опции и параметры используемых в них приложений иногда отличаются.

Команда man $команда

Вы можете ввести команду man с последующим именем интересующей команды (для которой вам хотелось бы получить справочную информацию) и начать чтение страницы руководства. Нажмите q для выхода из режима чтения страницы руководства. Некоторые страницы руководств содержат примеры (расположенные ближе к концу страницы).

paul@laika:~$ man whois
Форматирование страницы whois(1), подождите...

Команда man $имя_файла_конфигурации

Для большинства файлов конфигурации имеются отдельные страницы руководств.

paul@laika:~$ man syslog.conf
Форматирование страницы syslog.conf(5), подождите...

Команда man $демон

Также данное утверждение справедливо для большинства демонов (программ, работающих в фоновом режиме) из вашей системы.

paul@laika:~$ man syslogd
Форматирование страницы syslogd(8), подождите...

Команда man -k (apropos)

Команда man -k (или apropos) позволяет вывести список страниц руководств, содержащих заданную строку.

paul@laika:~$ man -k syslog
lm-syslog-setup (8)  - configure laptop mode to switch syslog.conf ...
logger (1)           - a shell command interface to the syslog(3) ...
syslog-facility (8)  - Setup and remove LOCALx facility for sysklogd
syslog.conf (5)      - syslogd(8) configuration file
syslogd (8)          - Linux system logging utilities.
syslogd-listfiles (8) - list system logfiles

Команда whatis

Для ознакомления с описанием страницы руководства следует использовать команду whatis с именем интересующей страницы руководства.

paul@u810:~$ whatis route
route (8)            - show / manipulate the IP routing table

Команда whereis

Расположение файла страницы руководства в рамках файловой системы может быть определено с помощью команды whereis.

paul@laika:~$ whereis -m whois
whois: /usr/share/man/man1/whois.1.gz

Этот файл может быть непосредственно прочитан с помощью команды man.

paul@laika:~$ man /usr/share/man/man1/whois.1.gz

Номера справочных разделов

Вы, скорее всего, обратили внимание на числа в круглых скобках. Выполнив команду man man, вы можете узнать о том, что эти числа являются номерами справочных разделов. Исполняемые файлы и команды оболочки отнесены к первому справочному разделу.

1 Исполняемые программы или команды оболочки (shell) 
2 Системные вызовы (функции, предоставляемые ядром) 
3 Библиотечные вызовы (функции, предоставляемые программными библиотеками) 
4 Специальные файлы (обычно находящиеся в каталоге /dev) 
5 Форматы файлов и соглашения, например о /etc/passwd 
6 Игры 
7 Разное (включает пакеты макросов и соглашения), например man(7), groff(7) 
8 Команды администрирования системы (обычно, запускаемые только суперпользователем) 
9 Процедуры ядра [нестандартный раздел]

Команда man $раздел $файл

Таким образом, при обращении к странице руководства для команды passwd, вы можете обнаружить, что эта страница обозначается как passwd(1); при обращении к странице руководства для файла passwd используется обозначение passwd(5). Приведенные ниже примеры команд иллюстрируют методику открытия страниц руководств из корректных разделов.

[paul@RHEL52 ~]$ man passwd      # открывает первую найденную страницу руководства
[paul@RHEL52 ~]$ man 5 passwd    # открывает страницу руководства из раздела 5

Команда man man

Если вы желаете узнать больше о команде man, прочитайте это замечательное руководство (Read The Fantastic Manual — RTFM).

К сожалению, на страницах руководств невозможно найти ответы на все вопросы…

paul@laika:~$ man woman
Нет справочной страницы для woman

Утилита mandb

Если вы убеждены в том, что страница руководства существует, но при этом вы не можете получить доступ к ней, попробуйте выполнить команду mandb в дистрибутиве Debian/Mint.

root@laika:~# mandb
В 0 man-подкаталогах содержатся более новые справочные страницы. 
Добавлено 0 справочных страниц. 
Добавлено 0 побочных cat-страниц. 
Вычищено 0 старых записей базы данных.

Или команду makewhatis в дистрибутиве CentOS/Redhat.

[root@centos65 ~]# apropos scsi
scsi: ничего подходящего не найдено.
[root@centos65 ~]# makewhatis 
[root@centos65 ~]# apropos scsi
hpsa                 (4)  - HP Smart Array SCSI driver
lsscsi               (8)  - list SCSI devices (or hosts) and their attributes
sd                   (4)  - Driver for SCSI Disk Drives
st                   (4)  - SCSI tape device

Если вам понравилась статья, поделитесь ею с друзьями:


������������� ������� ��������� ��������� ���������� (man-��)

man (1)


  • man (1) ( Solaris man: ������� � ���������� ��������� ����������������� ������ )
  • man (1) ( FreeBSD man: ������� � ���������� ��������� ����������������� ������ )
  • >> man (1) ( ������� man: ������� � ���������� ��������� ����������������� ������ )
  • man (1) ( Linux man: ������� � ���������� ��������� ����������������� ������ )
  • man (1) ( POSIX man: ������� � ���������� ��������� ����������������� ������ )
  • man (5) ( Solaris man: ������� ������ )
  • man (7) ( FreeBSD man: ����������� � ���������� )
  • man (7) ( ������� man: ����������� � ���������� )
  • man (7) ( Linux man: ����������� � ���������� )
  • ���� man ��������� � ���� �������� ����.
  •  

    ��������

    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
    ���� ������ ������� �����������
    ���������
    ������ �����
    ������
    ������
    �������

    Понравилась статья? Поделить с друзьями:
  • Tallas d boost 650 40 инструкция
  • Aerobiotic junior gse инструкция на русском
  • Парасепт инструкция по применению в стоматологии
  • Стиральная машина lg wd 10490s инструкция
  • Krona fidato 45 bl инструкция по применению