- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF122:DrBrown2
Материал из Linuxformat.
Внутри info
- Info Разбираемся с системой документации GNU.
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.