Мануалы в Linux: как их вызвать с помощью команды man

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

Мануалы в Linux не описывают то, как создать или заставить работать SSL-сертификаты, однако, перед их создателями и не было такой цели. Любой сисадмин, работающий с Linux должен получать всю требующуюся ему информацию о командах, списке функций, параметрах системы, с которой он работает из мануалов уже установленных в операционной системе.

Как устроен справочник в Linux?

Чтобы хранить всю информацию о возможностях системы было удобно, ее группируют по различным тематикам, данные в них могут отличаться друг от друга, все зависит от того, какой дистрибутив у вас установлен. Также возможно деление информации в мануалах на подразделы. Ниже вы сможете узнать, где можно найти всю системную информацию в Linux:

  • Под цифрой 1 скрываются программы для обычных пользователей;
  • Под цифрой 2 можно найти данные о кодах ошибок основного ядра и описание вызовов системы;
  • Под цифрой 3 можно увидеть возможности библиотек системы;
  • Под цифрой 4 в Linux можно увидеть описание сетевых протоколов и драйверов устройства;
  • Пол цифрой 5 в Linux находятся описания файлов, которые поддерживаются системой;
  • Под цифрой 6 в Linux находятся данные о примерах игр и программ в системе, HP-UX такой информации не имеет;
  • Под цифрой 7 в Linux находится различная документация;
  • Под цифрой 8 в Linux описаны возможности для системных администраторов и команды для них;
  • Под цифрой 9 описаны системные ядра и внутренние интерфейсы.

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

  • Есть фраза «passwd» и она имеет 2 значения, как команда и как файл системы;

Информацию о справочных данных вышеприведенные системы содержат в себе в разделах 1, 4 и 5.

Нельзя забывать и про то, что многие дистрибутивы в своих последних версиях переносят команды из раздела 8 в Linux в группу к остальным системным командам. А освободившийся раздел используется как резерв для информации о будущих обновлениях. Помимо этого все меньше информации становится в разделе 6.

Как читать интерактивную справку?

Чтобы прочитать нужную вам информацию в терминале, необходимо ввести в него поисковой запрос, который выглядит так:

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

Чтобы пользователь смог прочитать информацию, man использует такие утилиты как less и more, они дают возможность читать мануал с комфортом, помимо этого используются и другие возможности для вывода текста. Чтобы мануал был разбит на страницы, утилита использует переменную среды PAGER.

Последним в запрос вписывается заголовок, им может быть наименование утилиты, файла или самого компьютера, другими словами все, о чем нужно найти информацию. Для поиска вначале используются тематики под номерами 1, 6 и 8, именно они содержат данные о командах, если в них ничего не найдено, то проверяются остальные тематики.

Основные опции:

-a - показать подряд все справочные страницы.

-f - выдает разделы, где присутствует команда.

-k - искать упоминание в тематиках.

Чтобы найти только раздел без указания заголовка нужно ввести, например, следующую команду:

man mc

Вызов manДанная команда покажет все системные вызовы для «GNU Midnight Commander».

А для нахождения и раздела, и заголовка необходимо ввести название команды и номер раздела:

man 2 sync

Однако не во всех команд есть раздел 2, например если написать "man 2 mc", то будет ошибка.

mc - нет раздела

Чтобы такого не было у man есть опция "-f". Она выдаст разделы, в которых присутствует команда.

man -f mc

Мануал с аргументом -f

Как видно из скриншота, утилита mc присутствует только в 1 разделе.

man 1 mc

Если пользователю нужны данные о том, в каких тематиках можно найти информацию о «mc», то к запросу man следует приписать аргумент  –k. Например, если ввести:

man -k mc

то на экране появится следующая информация:

Мануал с аргументом -k

Результат выполнения man -k mc

После запроса пользователь получит все страницы, на которых упоминается «mc», в них указан номер тематики или подраздела, а также ключевое слово.

Где хранятся мануалы?

Чтобы узнать, где именно в системе Linux находятся мануалы, которые по совместительству являются и входными данными, работающими с командой nroff, следует ввести команду manpath. После ее введения появится ответ системы:
/usr/local/man:/usr/local/share/man:/usr/share/man

Результат данной команды показывает подкаталоги, которые содержат в себе справочную информацию в системе Ubuntu.

Все 3 расположения разделены между собой знаком «:».

В любой момент можно сменить месторасположение страниц мануала, однако они находятся в переменной окружения MANPATH, поэтому для перемещения страниц мануала нужно сменить показатель переменной:

export MANPATH=/home/share/localman:/usr/share/man

Изначально в системах на основе Linux справочники хранятся в /usr/share/man. Команда «man» может работать и с кэшем страниц, однако для этого такие каталоги как /var/cache/man и /usr/share/man должны быть открыты для записей в них, что ведет к нарушениям в безопасности.

Для экономии пространства на диске мануалы находятся в сжатом виде, им это обеспечивает такая утилита как gzip.

Несмотря на то, что страницы сжаты, команда «man» открывает их очень быстро, ведь она способна на быструю разархивацию.