Документация Linux
Man-страницы
Вместе с дистрибутивами GNU/Linux устанавливается большое число консольных утилит, выполняемых в Bash-оболочке. Кроме того, множество программ потом устанавливает сам пользователь. В связи с этим невозможно запомнить весь перечень команд с их параметрами. Поэтому для каждой программы должна иметься страница документации, так называемая man-страница. Здесь man – это сокращение от слова manual (руководство, пособие).
Доступ к этим страницам осуществляется с помощью одноименной программы man
. В качестве аргумента ей передается имя команды (а также возможно драйвера, библиотечной функции и др.), информацию о которой мы хотим получить. Например, man date
или man cat
.

На скриншоте показана страница документации к утилите sleep
, входящей в GNU/Linux. Страница открывается по команде man sleep
и является одной из самых коротких. Здесь мы можем видеть всю структуру man-страницы, состоящей из следующих частей:
-
NAME. Имя команды, и кратко что она делает.
-
SYNOPSIS. Варианты синтаксиса, то есть способы записи команды. Параметры без скобок являются обязательными. В квадратных скобках – необязательными (опциональными).
-
DESCRIPTION. Подробное описание программы и ее ключей.
-
AUTHOR. Разработчик программы.
-
REPORTING BUGS. Куда сообщать об ошибках.
-
COPYRIGHT. Авторские права на программу, лицензия, под которой она распространяется.
-
SEE ALSO. Дополнительная информация.
Данные секции стандартны и характерны для всех man-страниц определенного раздела.
Обратите внимание, в первой строке мана пишется имя программы и в скобках ставится число. Так в примере выше написано SLEEP(1). Число обозначает раздел, к которому относится данная страница документации Linux. Пользовательские утилиты относятся к разделу под номером 1.
Однако в "SEE ALSO" упоминается, что справка по sleep
также имеется в третьем разделе руководства man. Этот раздел отвечает за описание библиотечных функций (их можно использовать в своих программах, импортируя соответствующие библиотеки). Чтобы получить man-страницу из другого раздела, его указывают сразу после команды man
. Например, man 3 sleep
.
Если посмотреть документацию к программе apt-get
, с помощью которой во многих дистрибутивах Linux устанавливается ПО, то там будет стоять число 8. К восьмому разделу относятся программы администрирования системы, то есть выполняемые с правами суперпользователя (root'а).

Большинство man-страниц достаточно длинные и не помещаются на одном экране. Поэтому пользуются горячими клавишами навигации по документации:
-
Стрелки вверх и вниз для построчной прокрутки.
-
Клавиши Page Up и Page Down для постраничной прокрутки.
-
Home и End перемещают в начало или конец страницы.
-
Нажатие q приводит к закрытию страницы документации.
Есть и другие клавиши управления.
В зависимости от дистрибутива часть страниц может быть переведена на русский язык. Однако большинство, как и почти вся документация в сфере IT, написаны на английском языке.
Документация Info
Info-руководство (документы Texinfo) – другой вариант документации команд Linux. Описание команд в info менее формализовано и поэтому зачастую более понятно.
Команда вида info имя_программы
откроет ту часть info-документации, где начинается описание указанной программы.

На скрине info-страница для утилиты yes
.
Info-руководство – по-сути один большой гипертекстовый сборник, в котором можно перемещаться по ссылкам. Для этого надо установить курсор в подчеркнутую фразу, начинающуюся с *, и нажать Enter. В отличие от info-документации каждая man-страница является независимым документом.
С помощью клавиши u можно подняться на самый верхний уровень info-документации Linux. Клавиши n и p перемещают вниз и вверх от статьи к статье (должна быть включена английская раскладка клавиатуры). На изображении ниже показано начало самого верхнего уровня иерархии страниц info.

Опция --help
У многих команд есть ключ --help
, который позволяет быстро получить краткую справку. Информация выводится тут же в терминал, и остается видимой во время написания следующей команды. Нередко --help
выдает русифицированную справку.

Команда apropos
Может возникнуть ситуация, когда требуется выполнить какую-либо задачу, а есть ли программа для этого, и как она называется, неизвестно. В таких случаях можно попробовать поискать с помощью утилиты apropos
. Она выводит на экран краткие описания команд, содержащие строку, переданную ей в качестве аргумента.
Допустим нам надо проверить, есть ли в каком-то файле повторяющиеся строки. По-английски "повторять, повторение" – repeat. Следовательно, команда поиска подходящей программы будет выглядеть так: apropos repeat
.

Нашлось четыре программы, из которых очевидно нам подходит uniq
. Получив по ней справку, выясняем, что ключ -d
позволяет выводить только повторяющиеся строки.

Примечание. Аналогично apropos'у работает утилита man
с ключом -k
.
