LXF122:DrBrown2

Материал из Linuxformat.

Перейти к: навигация, поиск

Внутри info

Info Разбираемся с системой документации GNU.

Info организует документацию в дерево узлов. Для навигации по нему можно пользоваться однобуквенными командами.

Info – система документации, порожденная проектом GNU. Это своего рода альтернатива man-страницам, и в большинстве систем Linux установлены и info, и man. Люди из GNU использовали info для документирования основных утилит командной строки, но разработчики большинства других программ предпочитают man. Например, вы не найдете в info ни одной страницы об APT, инструментарии Debian.

Стили интерфейсов man и info сильно различаются. Если man по сути дела содержит «плоский» набор страниц, то в info записи образуют древовидную структуру, показанную на рисунке. Каждая запись в этом дереве называется узлом. С продвижением по дереву уровень детализации возрастает.

Хорошее место для старта – узел coreutils: он документирует большинство базовых утилит командной строки, таких как cat, head, tail, split, wc, sort, ls, cp, ln, chown, df, date, hostname, kill и многие другие. Попасть в него можно, выполнив команду

$info coreutils

Вы увидите информацию об авторских правах и меню подразделов узла coreutils. Выбрать подраздел можно одним из двух способов:

  • поместив курсор в нужный пункт меню и нажав Enter (пункты меню – это строки, начинающиеся со звездочки);
  • командой m с именем подраздела.

Например, выбрав подраздел «Вывод содержимого каталогов», вы увидите узел, показанный на рисунке. Отсюда можно продвинуться глубже, выбрав подраздел «Вызов ls». На схеме дерева я отметил этот переход зеленой стрелкой.

Информация об info

Есть встроенная функция справки, где описаны все вспомогательные клавиши info. Для ее вызова нажмите ?. Окно разделится, в стиле Emacs, и в одной из половин будет выведена справка. Нажмите Ctrl+X и 0, чтобы закрыть второе окно. Итак, займемся однобуквенными командами навигации. Вот полный список:

  • N Переход в следующую тему на том же уровне дерева.
  • P Переход в предыдущую тему на том же уровне дерева.
  • U Переход на один уровень вверх.
  • L Переход к последнему посещенному узлу (обратите внимание, что «последний» и «предыдущий» – это совершенно разные узлы).
  • m Запрос названия пункта меню и переход туда.
  • t Переход на верхний узел текущего файла info.
  • S Запрос строки поиска и поиск всех узлов в текущем файле info по этой строке.
  • Q Выход из info.

Откуда берутся страницы info?

Если вам нужно всего лишь несколько страниц, выводимых по команде info, соответствующие файлы легко создать вручную – кроме текста справки, в них самая малость разметки, задающей имена узлов и местоположение ссылок Next, Previous и Up. Файл нужно сжать gzip (с именем типа foo.info.gz) и положить в каталог /usr/share/info. Потом нужно создать ссылку на него в файле info верхнего уровня, который обычно называется /usr/share/info/dir. Команда install-info поможет вам с этим.

В качестве альтернативы можно открыть для себя целый GNU-мир подготовки документации и написать свои info-страницы на Texinfo. Этот язык разметки, потомок типографского языка TeX от старейшины программистов Дональда Кнута, использует тэги форматирования, начинающиеся с @. По грубому подсчету, их около 300, и если Texinfo нужен вам только для создания страниц info, то, пожалуй, не стоит тратить на него время. Настоящее преимущество Texinfo в том, что есть утилиты для его преобразования во множество форматов – текст, HTML и простые файлы info, которые мы обсудили, а также DVI, PDF, XML и Docbook.

Если хотите узнать больше, то полное руководство по info помещается по адресу http://www.gnu.org/software/texinfo/manual/info/info.html. Руководство по Texinfo можно найти на сайте http://www.gnu.org/software/texinfo/manual/info/texinfo.html.

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию