- Изучаем команды Linux: man
- 1. Введение
- 2. Часто используемые опции
- 3. Использование man-страниц
- 4. Упражнения
- Man-страницы в Linux. Как пользоваться. Установка
- Что такое Man-страницы
- Как открыть Man-страницы
- Синтаксис команды man
- Разделы
- Поиск Man-страниц
- Горячие клавиши и поиск внутри Man-страницы
- Установка Man-страниц
- Мануалы в Linux: как их вызвать с помощью команды man
- Как устроен справочник в Linux?
- Как читать интерактивную справку?
- Где хранятся мануалы?
Изучаем команды Linux: man
1. Введение
Один из важных рефлексов, который должен развиться у каждого пользователя Linux — это поиск информации, если что-то идет не так. Но несмотря на тот факт, что мы живем в мире, связанном с поисковыми системами, вики и огромным количеством иформации на кончиках ваших пальцев, всегда хорошо иметь локальную информацию в своей системе. Это обеспечивает простой и быстрый доступ к информации, даже при отсутствии подключения к интернету. Кроме того, информации, найденной в интернете, не всегда можно доверять, в то время как в руководствах все изложено четко и последовательно. Философия Unix (и, по наследству, Linux) говорит о том, что система должна быть хорошо документирована. Поэтому каждая программа распространяется с соответствующей man-страницей. Хотя man-страницы имеются во всех операционных системах на базе Unix, но между ними имеются отличия, поэтому то, что работает в Linux, может не работать, например, в Solaris. Кроме того, стиль написания этих руководств очень краткий и непривычный для новичков, поэтому вам может быть понадобится прочитать страницу несколько раз, пока вы привыкнете к нему.
2. Часто используемые опции
man -a keyword
выводит все доступные для keyword man-страницы
man -f keyword
ищет и выводит краткое описание всех man-страниц, где имеются ссылки на keyword
man —warnings
включает предупреждения
man -I .
включает чувствительность к регистру
man -H[browser]
активирует вывод в HTML и просмотр в браузере, который определен в $BROWSER или определен по умолчанию во время компиляции (обычно lynx).
3. Использование man-страниц
Если вы используете один из популярных дистрибутивов, то man-страницы скорее всего уже установлены как часть ядра системы вместе такими важными вещами как shell или система init. Чтобы лучше понять, как работает man, просто введите команду man man. Именно так все и работает: если мне нужна man-страница для ls, я ввожу man ls. В сетевом сообществе хорошим тоном считается сначала прочитать руководство, прежде чем задавать вопросы на форумах или в каналах IRC, о чем ветераны вам обяхательно напомнят с помощью аббревиатуры «RTFM». Если вы не знаете, что она значит, посмотрите в Google. Такой порядок действий — сначала man-страница, затем Google/Wikipedia, потом (если вы не нашли решения) форумы и социальные сообщества, является частью культуры Linux/FOSS.
Так как большинство man-страниц состоят более чем из одной страницы, для вывода используется less, и страницы можно перелистывать с помощью клавиш PgUp и PgDown, или Space и Esc + V. Выйти из man-страницы можно в любое время с помощью клавиши «q». Детально использование less мы разберем как-нибудь в другой раз, если вы хотите сделать это самостоятельно, вы всегда можете набрать man less. Поиск в man-странице вызывается с помощью клавишы «/», каждое последующее найденное вхождение можно просмотреть с помощью клавишы «n». Если вы знаете, что вам нужно, но не знаете точное название man-страницы, вам поможет apropos(1). Вы наверное обратили внимание на цифру в скобках после названия команды. Она задает категорию, к которой принадлежит команда. Для лучшей организации, и чтобы избежать дублирования, man-страницы делятся по категориям. Например, printf в Linux может принадлежать категориям 1, 1p, 3 и 3p. Она является как функцией библиотеки C, так и пользовательской командой, частью coreutils, которая часто используется в скриптах оболочки. В Linux категории, после номера которых следует «p», предназначены для POSIX-программистов. В таких случаях вы можете задать требуемую категорию, вставив ее номер между «man» и командой: man 3 printf. Ниже представлены категории, как они выглядят в современных системах Linux.
1 — исполняемые программы и команды оболочки;
2 — системные вызовы;
3 — библиотечные вызовы;
4 — файлы устройств (обычно расположены в /dev);
5 — форматы файлов;
6 — игры;
7 — макропакеты и соглашения;
8 — программы системного администрирования;
9 — процедуры ядра
Как уже говорилось ранее, система man была унаследована от старого Unix. С другой стороны, GNU предложил систему info, которая служит тем же целям, но имеет полезное нововведение, а именно использование гипертекстовых ссылок для перехода между страницами, аналогично тому, как это происходит в веб-браузерах. Так как OpenSolaris и BSD также используют программное обеспечение GNU (gawk, gcc, emacs. ), скорее всего на них тоже доступны некоторые страницы info. Познакомиться ближе с этой системой можно с помощью команды info info
4. Упражнения
1. Почему, как вы думаете, имеется деление на раздел 1 и 1p, или 3 и 3p?
2. Сделайте небольшое исследование и выясните различия в категориях между Linux и другими свободными системами на базе Unix.
3. Чтобы вы сделали, если вам нужно найти man-страницу, но apropos недоступен? Подсказка: man manpage
4. Найдите другую команду, которая встречается сразу в нескольких категориях.
Источник
Man-страницы в Linux. Как пользоваться. Установка
При работе в Linux иногда требуется чтение документации, руководств или help’ов. В Linux есть отличная документация, которая размещена в Man-страницах.
Что такое Man-страницы
Man-страницы (от слова manual — руководство) — это целая библиотека в системе Linux, содержащая руководства по командам, утилитам, программированию и другим областям системы и не только.
Как открыть Man-страницы
Для чтения Man-страниц предназначена команда man .
Чтобы получить руководство по использованию какой-либо команды нужно выполнить команду:
Например, чтобы вывести руководство по команде wget, нужно выполнить команду:
Синтаксис команды man
В общем виде синтаксис команды man следующий:
Разделы
Man-страницы разделены по тематикам на разделы (на секции). Каждый раздел имеет свой номер. Всего существует 8 основных разделов.
Если вы не указали раздел, при выполнении команды man , то сначала будет выполнен поиск руководства в первом разделе, если его там нет, то во втором и так далее.
Например, откроем руководство по команде sleep. В данном случае будет использоваться первый раздел.
А теперь получим справку по библиотечному вызову sleep языка программирования C (раздел 3):
Ниже представлена таблица с номерами разделов и их назначением (тематикой).
Номер раздела | Описание |
---|---|
1 | Основные команды. |
2 | Системные вызовы. |
3 | Библиотечные функции, включая стандартную библиотеку языка C. |
4 | Специальные файлы (обычно устройства из /dev ) и драйвера. |
5 | Форматы файлов и соглашения. |
6 | Игры и скринсейверы. |
7 | Разное. |
8 | Команды системного администрирования и демоны. |
Для указания ссылок на Man-страницы часто используют следующую запись: имя(раздел) . Например, aporopos(1) , less(1) , exit(3) .
Поиск Man-страниц
Самая полезная опция команды man , это опция -k .
-k — поиск Man-страниц. Выводит список Man-страниц, в которых встречается искомый запрос.
Горячие клавиши и поиск внутри Man-страницы
Вверх , Вниз , Enter — просмотр (прокрутка) Man-страницы.
PgUb , PgDn , Пробел — постраничное пролистывание.
/ — поиск внутри страницы. Нажимаете клавишу / , при этом внизу появляется строка для ввода текста. Вводите текст, который вы хотите найти, и нажимаете Enter .
? — поиск в обратном направлении (снизу вверх). Аналогично нужно ввести текст для поиска и нажать Enter .
n — переход к следующему вхождению.
Shift+n — переход к предыдущему вхождению.
& — поиск внутри страницы, но вместо подсвечивания результатов, вывести только строки, где было найдено искомое слово.
h — открыть справку по командам и горячим клавишам. Чтобы закрыть справку, используется клавиша q .
q — закрыть Man-страницу.
Установка Man-страниц
Как правило, базовые man-страницы обычно всегда установлены в дистрибутивах Linux, но иногда их нужно устанавливать самостоятельно. Для установки Man-страниц выполните следующие команды.
Для Ubuntu:
Для Fedora, CentOS:
Для установки Man-страниц, содержащих описание библиотечных функций языка программирования C, выполните следующие команды.
Для Ubuntu:
Источник
Мануалы в Linux: как их вызвать с помощью команды man
В каждой системе на основе Linux желающей завоевать поклонников должны быть мануалы, это справочники, в которых любой пользователь сможет найти нужную для себя информацию о принадлежности команд, их возможностях, параметрах системы и ее составных частей. Выходом может стать использование специальной литературы, созданной на платной или бесплатной основе, о том, как управлять системами на UNIX, но данные книги могут служить лишь дополнениями для того, что содержится в справочниках в уже установленных ОС.
Мануалы в Linux не описывают то, как создать или заставить работать SSL-сертификаты, однако, перед их создателями и не было такой цели. Любой сисадмин, работающий с Linux должен получать всю требующуюся ему информацию о командах, списке функций, параметрах системы, с которой он работает из мануалов уже установленных в операционной системе.
Как устроен справочник в Linux?
Чтобы хранить всю информацию о возможностях системы было удобно, ее группируют по различным тематикам, данные в них могут отличаться друг от друга, все зависит от того, какой дистрибутив у вас установлен. Также возможно деление информации в мануалах на подразделы. Ниже вы сможете узнать, где можно найти всю системную информацию в Linux:
- Под цифрой 1 скрываются программы для обычных пользователей;
- Под цифрой 2 можно найти данные о кодах ошибок основного ядра и описание вызовов системы;
- Под цифрой 3 можно увидеть возможности библиотек системы;
- Под цифрой 4 в Linux можно увидеть описание сетевых протоколов и драйверов устройства;
- Пол цифрой 5 в Linux находятся описания файлов, которые поддерживаются системой;
- Под цифрой 6 в Linux находятся данные о примерах игр и программ в системе, HP-UX такой информации не имеет;
- Под цифрой 7 в Linux находится различная документация;
- Под цифрой 8 в Linux описаны возможности для системных администраторов и команды для них;
- Под цифрой 9 описаны системные ядра и внутренние интерфейсы.
Изначально система настроена так, что указывая раздел с помощью man, почти всегда пользователь найдет информацию быстро и может показаться, что делить мануал на тематики бессмысленно, однако это не так. Ведь некоторые команды в UNIX-системах могут использоваться сразу в 2 местах в зависимости от контекста. Пример:
- Есть фраза «passwd» и она имеет 2 значения, как команда и как файл системы;
Информацию о справочных данных вышеприведенные системы содержат в себе в разделах 1, 4 и 5.
Нельзя забывать и про то, что многие дистрибутивы в своих последних версиях переносят команды из раздела 8 в Linux в группу к остальным системным командам. А освободившийся раздел используется как резерв для информации о будущих обновлениях. Помимо этого все меньше информации становится в разделе 6.
Как читать интерактивную справку?
Чтобы прочитать нужную вам информацию в терминале, необходимо ввести в него поисковой запрос, который выглядит так:
man [-опции] номер раздела номер заголовка
Чтобы пользователь смог прочитать информацию, man использует такие утилиты как less и more, они дают возможность читать мануал с комфортом, помимо этого используются и другие возможности для вывода текста. Чтобы мануал был разбит на страницы, утилита использует переменную среды PAGER.
Последним в запрос вписывается заголовок, им может быть наименование утилиты, файла или самого компьютера, другими словами все, о чем нужно найти информацию. Для поиска вначале используются тематики под номерами 1, 6 и 8, именно они содержат данные о командах, если в них ничего не найдено, то проверяются остальные тематики.
-a — показать подряд все справочные страницы.
-f — выдает разделы, где присутствует команда.
-k — искать упоминание в тематиках.
Чтобы найти только раздел без указания заголовка нужно ввести, например, следующую команду:
Данная команда покажет все системные вызовы для «GNU Midnight Commander».
А для нахождения и раздела, и заголовка необходимо ввести название команды и номер раздела:
Однако не во всех команд есть раздел 2, например если написать «man 2 mc», то будет ошибка.
Чтобы такого не было у man есть опция «-f». Она выдаст разделы, в которых присутствует команда.
Как видно из скриншота, утилита mc присутствует только в 1 разделе.
Если пользователю нужны данные о том, в каких тематиках можно найти информацию о «mc», то к запросу man следует приписать аргумент –k. Например, если ввести:
то на экране появится следующая информация:
Результат выполнения man -k mc
После запроса пользователь получит все страницы, на которых упоминается «mc», в них указан номер тематики или подраздела, а также ключевое слово.
Где хранятся мануалы?
Чтобы узнать, где именно в системе Linux находятся мануалы, которые по совместительству являются и входными данными, работающими с командой nroff, следует ввести команду manpath. После ее введения появится ответ системы:
/usr/local/man:/usr/local/share/man:/usr/share/man
Результат данной команды показывает подкаталоги, которые содержат в себе справочную информацию в системе Ubuntu.
Все 3 расположения разделены между собой знаком «:».
В любой момент можно сменить месторасположение страниц мануала, однако они находятся в переменной окружения MANPATH, поэтому для перемещения страниц мануала нужно сменить показатель переменной:
Изначально в системах на основе Linux справочники хранятся в /usr/share/man. Команда «man» может работать и с кэшем страниц, однако для этого такие каталоги как /var/cache/man и /usr/share/man должны быть открыты для записей в них, что ведет к нарушениям в безопасности.
Для экономии пространства на диске мануалы находятся в сжатом виде, им это обеспечивает такая утилита как gzip.
Несмотря на то, что страницы сжаты, команда «man» открывает их очень быстро, ведь она способна на быструю разархивацию.
Источник