Справка в командной строке

Материал из Mandriva Russian Community Wiki

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

Часто бывает полезным получить справку прямо из командной строки, почти не меняя рабочее окружение — разве что создав новую вкладку в чём-то вроде konsole или yakuake, или новое окно в screen. Для таких целей есть ряд средств, описанных ниже.

Содержание

Встроенная в программы справка

Многие программы содержат в себе краткое описание возможностей. По стандарту опций POSIX, опция --help должна печатать краткую справку об использовании программы. Так поступают, например, следующие команды:

$ ls --help
$ tar --help
Совет!
Очень часто справка не помещается на экран, и удобно использовать команды вида file --help|less

Многие команды печатают справку в ответ на неправильные аргументы командной строки. Например:

$ free --help

Команда free не поддерживает аргумент «--help», сообщает об этом и выводит справку.

Какие-то программы также позволяют указывать -h, реже -? в качестве опции для вызова справки.

Большинство стандартных команд выводят пояснения, если ввести неправильный ключ командной строки:

$ mv -h
mv: неверный ключ -- «h»
Попробуйте `mv --help' для получения более подробного описания.

Если команда требует аргументов, а их нет, она также должна выводить сообщение о справке:

$ tar
tar: Вы должны указать одну из опций `-Acdtrux'
Попробуйте `tar --help' или `tar --usage' для
получения дополнительной информации.

Программы, не очень хорошо соответствующие GNU-стандарту, могут и не поддерживать ключ --help, а поддерживать опции вроде -doc. Часто они перечисляют такие ключи при вызове без параметров.
Вызвать справку некоторых команд, к примеру echo, нельзя через ключи командной строки. Для них доступны только способы, указанные ниже.

Справочные системы

man

В комплекте с операционной системой традиционно поставляются man-страницы. Если у вас их нет (нет команды man или запрошенных страниц), установите пакет manpages-ru: #urpmi manpages-ru.

Узнать информацию по интересующей вас функции можно командой man имя_команды — например, man bzip2.

Совет!
Если хотите, чтобы tab дополнял автоматически запросы к man-страницам, установите пакет bash-completion. Тогда Вы сможете нажать <TAB>, набрав, например, man pthread и получить список всех подходящих страниц

man-страницы содержат информацию об установленных программах и стандартной библиотеке языка C (и ещё много о чём). Чтобы не было коллизий в названиях, они разбиты на несколько разделов. Возле заголовка страницы в скобках пишется раздел, а смотреть страницу из, скажем, восьмого раздела нужно командой man 8 ваш_запрос. Кроме того, вы всегда можете спросить man -a запрос и посмотреть все доступные man-страницы, если сомневаетесь в разделе.
Например, в нескольких разделах можно найти команду read.

По умолчанию программой для просмотра man-страниц в консоли назначена команда man — управление у неё от команды less (выход по q, справка по h). Если нужно это изменить, выполните команду, например, export MANPAGER=more (Или не more, а другое средство просмотра). Кроме того, вы можете написать в интернет-обозревателе man:имя_команды и читать оттуда или из системы просмотра документации GNOME.

info

info — гипертекстовая система документации с более богатыми возможностями, чем man, и часто более полная.
Вызывается она командой info имя_команды.

Встроенные команды оболочки

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

Совет!
Узнать, встроена ли команда в оболочку, можно, набрав type имя_команды. Если встроена — вы получите в ответ «имя_команды is a shell builtin»

Если вы захотите узнать, как обращаться, например, к команде alias, и попробуете спросить man alias или info alias, то получите man-страницу, посвящённую оболочке bash, из которой нужно будет выбрать нужную информацию.
alias --help, напротив же, покажет очень немного информации.

Для получения справки по встроенным в командную оболочку командам используйте синтаксис help имя_команды — например всё то же help alias или help имя_команды|less.