Кратко о help, man и info

Зачастую, начинающий пользователь, не зная как выполнить какое-либо действие в Терминале, сразу задаёт вопрос (иногда довольно глупый) в Форуме. Особенно это свойственно тем, кто совсем недавно обратил свой взор на операционные системы, отличные от Windows. 

Но в большинстве случаев проблему можно решить своими силами. Ведь для этого часто бывает достаточно почитать справку по используемой команде или же использовать страницы man.

В данном материале делается попытка дать начальные сведения по использованию справки и страниц man. (жду дополнений)

Практически у каждой команды Linux-системы есть (хотя бы и очень краткая) справочная информация. Чтобы её вызвать, достаточно запустить команду с аргументами -h или --help. Например, для команды ls: 

$ ls --help

Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuSUX nor --sort.
...

В большинстве команд при вызове её с аргументом --help выдается очень много информации. Вывод на экран можно разграничить по страницам с помощью:

$ ls --help | more

Команда more самая популярная команда для вывода информации по страницам в каждой Unix системе. В Linux более популярная команда less - она имеет большую функциональность: позволяет передвигаться постранично вперед и назад, с помощью стрелок прокручивать текст, поддерживаются сочетания клавиш редактора vi для навигации и поиску по тексту. Также можно использовать команду card, которая позволяет выводить информацию сразу на принтер или сохранить в виде Postscript файл, что позволит позднее прсмотреть его с помощью утилиты evince или сконвертировать в PDF файл с помощью утилиты ps2pdf.

Многие команды имеют более расширенную версию "справки" - т.н. страницы man. Для вызова достаточно набрать:

$ man [название команды]

 Для поиска информации в базе данных man страниц по ключеву слову или нескольким символам существует команда apropos. На выходе apropos покажет страницы man сожержащие искомое слово:

$ apropose crontab

/etc/anacrontab (5) [anacrontab] - configuration file for anacron

- apropos показывает секции и страницы man, где было найдено искомое слово. 
 

Секции страниц man - это способ сгрупировать страницы man по темам. Например, страницы man из секции 1 - это "Запускаемые программы" или "команды shell".

Страницы man из секции 5 - это "Формат файлов и соглашения". Страницы man одинаковые на всех Linux системах, но могут немного отличаться на других Unix системах. Для получения представления секций на конкретной системе можно посмотреть страницы man на man:

$ man man

Если указать номер сессии, то man выведет страницу этой секции. Если не указать номер секции, то man покажет страницы из первой найденной секции.

У комнады есть несколько аргументов, для выполнения разных задач. Например:

man -a crontab 

- показывает все страницы секций, в данном случае для crontab

man 5 crontab 

- показывает страницы man из пятой секции для crontab

man crontab -P more 

- используется программа more для возможности постраничного просмотра по crontab

man -f crontab 

- аналогично команде whatis

man -k crontab 

- аналогично команде apropos

Существует ещё команда для поиска в страницах man - whatis. Отличие её от apropos в том, что она показывает только описание страниц man относящиеся к искомому слову. После запуска команды apropos для команды route получим три разных страницы содержащие слово route:

$ apropos route

NETLINK_ROUTE (7) - Linux IPv4 routing socket
route (8) - show / manipulate the IP routing table
traceroute6 (8) - traces path to a network host

Если же запустить whatis, то получим только 8-ю секцию страниц man для команды route:

$ whatis route

route (8) - show / manipulate the IP routing table
 

В некоторых случаях разработчики помещают некоторую дополнительную информацию по описанию команд, устройств, форматов файлов и других компонентов Linux в информационную базу данных. Чтобы получить доступ к этой базе необходимо набрать info (для выхода из утилиты info используется q):

$ info ls

При этом будет показана информация по команде ls. Можно перемещаться по информации с помощью клавиш нафигации (стрелки), а так же с помощью Page UP и Page Down. Файлы, которые использует такая информационная база данных, находится в директории /usr/share/info.