Открыть сервисСервис

Man — команда справочной системы UNIX

man (от англ. manual) — команда операционных систем семейства UNIX и Linux, выводящая справочную документацию по другим командам, утилитам, библиотекам и системным вызовам. Стандартная реализация использует форматировщик troff и утилиту groff, а сами страницы хранятся в виде файлов с расширением .1, .2, .3 и т. д. в каталогах /usr/share/man или /usr/local/share/man. Команда является одним из базовых средств документирования в Unix-подобных системах и входит в POSIX.

История

Первая версия man появилась в 1971 году в составе первой редакции Unix для PDP-11. Автором первоначальной реализации считается Деннис Ритчи. В 1979 году в Unix V7 была представлена утилита nroff (новая версия roff), которая стала стандартным форматировщиком для man-страниц. Позднее, в 1990-х годах, на смену nroff пришёл groff (GNU roff), написанный Джеймсом Кларком. В 2010-х годах в Linux-дистрибутивах начали распространяться альтернативные реализации: mandoc (используется в OpenBSD и FreeBSD), man-db (стандарт в Debian и Ubuntu) и man из проекта man-pages.

Структура man-страницы

Man-страница — это текстовый файл, отформатированный макросами roff. Стандартная структура включает следующие разделы:

Разделы (мануальные разделы)

Документация разделена на тематические разделы, нумерованные от 1 до 9:

РазделСодержание
1Пользовательские команды (ls, grep, man)
2Системные вызовы (open, read, write)
3Библиотечные функции (printf, malloc)
4Специальные файлы (/dev/*)
5Форматы файлов и конфигураций (/etc/passwd)
6Игры
7Системные понятия и соглашения
8Административные команды (mount, ifconfig)
9Внутренние функции ядра Linux

Пример вызова: man 3 printf покажет справку по библиотечной функции printf, а man 8 mount — по команде монтирования файловых систем.

Использование

Базовый вызов man команда отображает страницу, отформатированную для терминала. Основные опции:

  • -k ключевое_слово — поиск по описаниям (эквивалент apropos);
  • -f имя — краткое описание команды (эквивалент whatis);
  • -w — показать путь к файлу страницы;
  • -M путь — использовать альтернативный каталог с документацией;
  • -a — показать все страницы, соответствующие запросу;
  • -T формат — использовать заданный форматировщик (например, -Thtml для HTML).

Для поиска по всем разделам одновременно используется ключ -a. Пользовательские настройки задаются переменной окружения MANPAGER (программа для прокрутки, по умолчанию less) и MANPATH (каталоги с документацией).

Альтернативы и связанные утилиты

  • apropos — поиск страниц по ключевым словам в описании;
  • whatis — однострочное описание команды;
  • info — система документации GNU, заменяющая man для проектов GNU;
  • help — встроенные подсказки интерактивных оболочек (bash, zsh);
  • tldr — упрощённые, краткие справки, ориентированные на практическое использование.

В дистрибутивах на базе Debian пакет man-db предоставляет фоновый сервис mandb, который индексирует man-страницы и ускоряет поиск. В FreeBSD и OpenBSD используется mandoc, который также умеет форматировать страницы в HTML и другие форматы.

См. также

  • roff и groff — текстовые форматировщики
  • POSIX — стандарты интерфейса Unix
  • Системное администрирование

Источники

  • POSIX.1-2017, раздел «man»
  • Linux man-pages project (man7.org)
  • GNU groff manual
  • Документация mandoc
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru