Разница между справкой, информацией и командой man

33

Я знаю, что эти команды помогут получить синтаксис и параметры для команд, но мой вопрос заключается в том, как они отличаются друг от друга?

Рупеш Павар
источник

Ответы:

17

helpэто команда bash Он использует внутренние структуры bash для хранения и получения информации о командах bash.

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

infoэто только текстовый просмотрщик для архивов в выходном информационном формате Texinfo .

Игнасио Васкес-Абрамс
источник
6
man - это больше, чем «макрос, установленный для процессора troff». -1 за этот ответ.
fpmurphy
@fpmurphy: не очень.
Игнасио Васкес-Абрамс
3
Это объясняет очень мало.
Ankur S
30

helpэто встроенная команда в bashоболочке (и только в этой оболочке), которая документирует некоторые встроенные команды и ключевые слова этой оболочки. Это внутренняя система документации этой оболочки. Другие оболочки имеют свою собственную систему документации ( ksh93имеет встроенные функции --helpи --manопции, zshимеет помощника по запуску, который извлекает информацию из руководств в других форматах). Другие команды, например, vimимеют собственную встроенную систему документации.

manявляется общесистемной системой документации, которая предоставляет краткие справочные руководства (страницы) для отдельных команд, функций API, концепций, синтаксиса файла конфигурации, форматов файлов, организованных по разделам (1 для пользовательских команд, 2 для системных вызовов ...). Это традиционная система документации Unix.

infoэто другая система документации, возникшая в проекте GNU. Это гипертекст со ссылками (предшествующий сети). Информационное руководство похоже на цифровую книгу с концепцией оглавления и (поиска) индекса, который помогает найти информацию.

Между 3. есть совпадение. Например, bashучастие в проекте GNU включает как справочную страницу, так и справочное руководство. Однако размер руководства делает систему man не такой подходящей для этого bash. Однако структура справочника и указателя информации не очень хороша, bashпоэтому не так легко просматривать информацию, как в других infoруководствах zsh. zshРуководство, которое еще больше, разделено на несколько страниц infoруководства, а также имеет хорошее руководство с очень хорошим индексом.

Следует отметить, что infoруководство генерируется из texinfoформата, который также используется для генерации HTML и печатных (PDF / PS) версий. В случае zshже, texinfo генерируется из другого формата ( yodl).

Стефан Шазелас
источник
2
Это лучший ответ, поздравляю. Принятый является слишком кратким, чтобы быть полезным, учитывая общую природу вопроса.
нейронет
также полезно help help:; не полезно: man help.
De Novo поддерживает GoFundMonica
1
@DeNovo, да, так helpкак является встроенным из bash. Более полезным: info bash help.
Стефан Шазелас
25

helpявляется bashвстроенным, предоставляя помощь bashтолько для команд

manЭто традиционная форма справки почти для каждой команды в вашей системе, и не только, иногда и файлы конфигурации имеют свою собственную страницу руководства. В дистрибутивах Linux, организованных в пакеты, относительный текст обычно предоставляется из того же пакета, который предоставляет команду. Если у вас есть, bash-completionвы можете воспользоваться, TABчтобы увидеть, какие справочные страницы доступны.

infoэто альтернативная система , чтобы обеспечить страницы руководства для команд, основанных на GNU emacs. Это предусмотрено в основном для GNUкоманд и утилит. Кажется, он не получил широкого распространения от других.

enzotib
источник