Как создать Man-страницы для скрипта, пакета, библиотеки в Linux

Man-страницы - это суперполезный ресурс для каждого пользователя Linux. Они содержат исчерпывающий список всех опций с синтаксисом и пояснениями. Добавление man-страниц к вашему скрипту или пакету повышает удобство его использования и принятия. Но задавались ли вы вопросом, как создать man-страницу для вашего скрипта или модуля? В этой статье мы узнаем, как создать man-страницы для скрипта, пакета, библиотеки в Linux. Вы можете использовать эти шаги во всех дистрибутивах Linux.

linux

Как создать Man-страницы для скрипта, пакета, библиотеки в Linux

Обычно man-страницы пишутся с использованием множества макросов форматирования. Когда вы вызываете команду man, она вызывает команду groff, которая разбирает файл man для команды и форматирует его вывод, который передается команде less и затем отображается у вас. Написание макросов форматирования - очень утомительный процесс, который может оказаться сложным для новичков.

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

Программа Pandoc читает файлы в формате markdown и генерирует форматированный вывод на 40 различных языках разметки и форматах файлов, включая man-страницы. Pandoc позволяет легко определить содержимое man-страницы, используя простые файлы разметки, вместо написания макросов.

1. Установите Pandoc

Откройте терминал и выполните следующую команду для установки инструмента pandoc.

Ubuntu, Debian

Redhat, Fedora, SUSE

CentOS

2. Разделы man-страниц

Прежде чем приступить к созданию man-страницы с помощью pandoc, необходимо ознакомиться с различными разделами man-страниц, чтобы правильно ее оформить.

Вот минимальные разделы, которые должна иметь man-страница.

  • Имя: Имя команды с однострочным описанием ее функции.
  • Синопсис: краткое описание вызовов, которые можно использовать для запуска программы. Синтаксис команды с вставками для опций и параметров.
  • Описание: Описание команды или функции.
  • Опции: Список опций командной строки с пояснениями.
  • Примеры: Некоторые примеры общего использования.
  • Значения выхода: Коды возврата с их значениями.
  • Ошибки: Список известных ошибок и проблем. Вы также можете включить ссылки на трекер проблем, если таковой имеется.
  • Автор: Человек или люди, написавшие команду.
  • Авторское право: Ваше сообщение об авторских правах с информацией о лицензии.

Существует множество других разделов, применимых для man-страницы, но вышеперечисленных будет достаточно.

Каждая man-страница классифицируется как один из следующих разделов руководства Linux.

  • Исполняемые программы: Или команды оболочки.
  • Системные вызовы: Функции, предоставляемые ядром.
  • Вызовы библиотек: Функции в библиотеках программ.
  • Специальные файлы.
  • Форматы файлов и соглашения: Например, "/etc/passwd".
  • Игры.
  • Разное: Пакеты макросов и соглашения, например, groff.
  • Команды системного администрирования: Обычно зарезервированы для root.
  • Процедуры ядра: Обычно не устанавливаются по умолчанию.

Каждая man-страница должна указывать раздел, к которому она относится, и храниться в соответствующем месте для этого раздела.

3. Создайте разметку Man (Markdown)

Каждый раздел страницы man должен быть указан после своего знака # в начале, за которым следует пробел. Он действует как заголовок раздела. Вот упрощенная схема страницы man. Вы можете ввести свой текст под заголовком раздела.

Вы также можете отформатировать текст, добавив ** по обе стороны от текста, чтобы он отображался жирным шрифтом в man page. Вы можете добавить * по обе стороны текста, чтобы подчеркнуть его в man-странице. Вот пример раздела OPTIONS.

Использование двоеточия(:) выше вставляет текст под строку "-h, -help", а не под "OPTIONS" с отступом. Вот как это будет выглядеть в man-странице.

Конечно, существует множество других правил форматирования. Для нашего примера мы рассмотрели лишь небольшое подмножество.

4. Создайте страницу Man

Допустим, вы сохранили приведенный выше текст для команды 'ms' в файле ms.1.md. Вот команда pandoc для сохранения этого файла в man-странице ms.1.

Теперь, когда у нас есть файл man-страницы, нам нужно сохранить его в нужном месте. Для этого выполните команду manpath.

В результате вы получите следующую информацию.

  • /usr/share/man: местонахождение стандартной библиотеки страниц man. Мы не добавляем страницы в эту библиотеку.
  • /usr/local/share/man: Эта символическая ссылка указывает на "/usr/local/man".
  • /usr/local/man: Здесь мы должны разместить нашу новую страницу man.

Сначала мы создадим отдельную подпапку man1 для нашей команды. Если ваша команда имеет более 1 man-страницы, вы можете хранить их в папках man2, man3, ... здесь.

Затем скопируйте созданный файл ms.1 в эту папку.

Вам необходимо сжать этот файл для команды man, так как это необходимо.

Выполните следующую команду, чтобы добавить страницы man в базу данных man.

Вот и все. Теперь вы можете получить man-страницу для вашей команды ms с помощью следующей команды.

Заключение

В этой статье мы узнали, как создать man-страницу в Linux.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий