- Изучаем команды Linux: man
- 1. Введение
- 2. Часто используемые опции
- 3. Использование man-страниц
- 4. Упражнения
- Мануалы в Linux: как их вызвать с помощью команды man
- Как устроен справочник в Linux?
- Как читать интерактивную справку?
- Где хранятся мануалы?
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как пользоваться командой man в Linux: основы и секреты
- Встроенное руководство 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. Найдите другую команду, которая встречается сразу в нескольких категориях.
Источник
Мануалы в 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» открывает их очень быстро, ведь она способна на быструю разархивацию.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как пользоваться командой man в Linux: основы и секреты
10 минут чтения
Все, что вам нужно знать о Linux, можно найти в man. Это интерфейс, используемый для просмотра справочных руководств системы, отсюда и название: man — сокращение от manual. Например, можно выполнить поиск команды для выполнения задачи, даже если неизвестно, как она называется. Но как найти само руководство? В этой статье расскажем о некоторых скрытых возможностях этой команды.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Встроенное руководство Linux
Существует старая шутка: единственная команда, которую нужно знать в Linux это man – точка входа в руководство пользователя. Несмотря на то, что тут есть доля правды, но даже сама команда man может ввести в тупик вначале. Вернее, поиск информации с помощью этой команды.
Наверное, у всех был случай, когда знали, что вы хотите сделать, но не знали какая команда поможет выполнить поставленную задачу. Это похоже на то, как искать слово в словаре при том, не зная самого слова.
Итак, как же можно найти, то что нужно? С man можно легко обойти эту сложность.
Цифры — еще одна сложность перед новичками. Что они означают? Вы документации или в просторах Интернета часто можно увидеть такие ссылки, man (2) или man (5) . Также можно встретить ссылки на команды, за которыми следуют цифры, такие как mount (2) и mount (8) . Конечно, не может быть больше одной команды mount , верно? Как мы увидим, цифры важны и их понять относительно просто.
Проще говоря, вести поиск по man достаточно легко если один раз понять, как это работает. На самом деле, есть несколько способов поиска и навигации в man .
Как перейти к руководству
Чтобы запустить руководство по какой либо-команде достаточно в командной строке набрать команду man , а затем через пробел название команды, по которой нужно руководство. После этого система запустить руководство по команде – конечно, если найдет. Давайте посмотрим, что покажет команда man по man :
Ниже показано руководство по команде man :
Как видно, это первая страница руководства man (1) . Чтобы просмотреть другие страница выполните одно из следующих действий:
- Чтобы прокрутить по одной строчке: используйте колесо мыши, стрелки вверх или вниз и клавишу Enter.
- Для перехода на следующую страницу: Нажмите клавишу пробел, или же кнопки PgUpPgDown.
- Для перехода в начало и конец руководства: Клавиши Home и End
Если нажать H (заглавная h ), то можно перейти в раздел помощи, где можно найти альтернативные комбинации, которыми можно пользоваться для навигации. Чтобы выйти из руководства нажмите Q .
Структура руководства
В начале страницы можно увидеть Название (Name) и Описание (Synopsis). Есть определённые правила оформления страницы руководства. Есть руководства по командам, программам, функциям и т.д. Не во всех руководствах есть эти заголовки, так как некоторые из них применимы только к конкретным командам.
Ниже приведён список заголовков, которые можно встретить в руководстве.
- Название (Name): название команды, по которой просматривается руководство
- Синопсис (Synopsis): Краткое описание команды и синтаксиса
- Конфигурация (Configuration): Детали настройки для устройства
- Описание (Description): Описание основного назначения программы
- Опции (Ключи): опции которые принимает команда
- Выходной статус (Exit Status): Возможные значения, возвращаемые командой при завершении работы
- Возвращаемое значение (Return Value): Если руководство запущено по какой-то библиотеке, то это указывает на значение, которое вернет библиотека функции, которая вызвала ее.
- Ошибки (Errors): Список всех значение, которые может принимать errno в случае ошибки выполнения команды
- Окружение (Environment): Список переменных окружения, которые относятся к команде или программе
- Файлы (Files): Список файлов, которые использует команда или программа, например, конфигурационный файл
- Атрибуты (Attributes): Список различных атрибутов команды
- Версии (Versions): Список изменений в ядре Linux или библиотеке, которую использует команда
- Соответствие (Conforming to): Описание любых стандартов, которым может соответствовать команда, например, POSIX.
- Заметки (Notes): Дополнительные заметки
- Баги (Bugs): Известные ошибки
- Примеры (Examples): Один или несколько примеров использования команды
- Авторы (Authors): Люди, которые разработали и поддерживают команду
- Просмотрите также (See Also): Рекомендуемые материалы по команде
Разделы руководства
Прокрутив ниже на несколько страниц увидите список разделов в данном руководстве:
Это следующие разделы:
- Основные команды (General commands): Команды, которые используются в командной строке
- Системные вызовы (System calls): Функции ядра, которые может вызвать программа
- Функции библиотек (Library functions): общий набор функций и возможностей, используемых программами
- Форматы файлов и соглашения (File formats and conventions): Форматы файлов как passwd, cron table, tar архивы
- Специальные файлы (Special files): обычно устройства, например, найденные в /dev , и их драйверы.
- Игры (Games): Описание команд, например, fortuna, которая при запуске показывает цитаты из БД
- Дополнительно (Miscellaneous): Описание таких вещей как inodes, параметры загрузку
- Администрирование системы (System administration): Команды и демоны, зарезервированные для использования root-ом.
- Распорядок ядра (Kernel Routines): Информация, касающаяся внутренних операций ядра. Сюда входят функциональные интерфейсы и переменные, которые могут быть использованы программистами, которые разрабатывает драйвера устройств.
Цифры в скобках рядом с командой указывают на раздел руководства. Например, man (1) означает первый раздел руководства, которая описывает работу команды man.
На скриншоте выше видна ссылка на man (7) . Это значит, что подробную информацию о команде можно найти в другом разделе. Когда впервые открываем руководство по команде, оно показывает man (1) . Если ввели команду man без указания раздела, команда будет искать переданные параметр во всех разделы по очереди и конечно же первым выведет первый раздел.
Если нужно найти информацию в конкретном разделе нужно передать команде номер этого раздела.
Например, чтобы открыть седьмой раздел руководства по команде man введем следующую команду:
Руководство откроется с седьмого раздела:
Эта страница руководства содержит инструкции по созданию руководства. Она описывает формат файлов и макросы, которые можно использовать для автоматизации части работы. man (1) же в начале руководства описывает как вообще использовать саму команду man .
Поиск записей в разделах
В основном, если нужно просто узнать, как пользоваться той или иной командой, не надо указывать номер раздела. man найдёт стандартную запись в первом разделе руководства, которая описывает как нужно пользоваться командой. Иногда же, в поиске нестандартной информации, нужно открыть конкретный раздел, содержащий запись по команде.
В Linux легко можно найти разделы, в которых встречается нужная записб. Каждое руководство обладает названием и кратким описанием. Ключ –f (whatis) ведёт поиск по заголовкам и возвращает все вхождения.
Например, введем следующую команду:
Команда нашла два совпадения для команды man с разделами и кратким описанием. Однако будьте осторожны — некоторые записи имеют одинаковое название, но описывают разные команды и функции.
Например, введём следующую команду:
Как видно, для команды printf были найдены две записи: одна в первом разделе, и другая в третьем разделе. Однако это разные команды. Информация в разделе 1 описывает команду printf командной строки, которая форматирует данные при выводе в окно терминала. В третьем же разделе описывается семейство функций библиотеки printf в языке программирования C.
Также возможен поиск по кратким описаниям, а также заголовкам страниц. Для этого используется параметр -k (apropos). Это также будет искать соответствия искомому термину поиска внутри других, более длинных слов.
Многие из этих команд описаны в одних и тех же информационных страницах, поскольку их основные функциональные возможности в основном одинаковы. Справочная страница для vprintf описывает функциональность 10 команд, перечисленных на рисунке выше.
Эту функцию можно использовать для поиска информации, для выполнения конкретной задачи, даже если не знаете имя команды, которую хотите использовать.
Допустим, нужно изменить пароль учетной записи пользователя. Мы можем искать любые команды, которые упоминают «user» в заголовках или описаниях страницы. Затем его можно пропустить через функцию grep для поиска записей, содержащих слово «password» .
Для этого нужно ввести следующую команду:
Так как слово user мы выделили одинарными кавычками и в конце поставили пробел, команда будет искать только слово “user” , а не “users” . Бегло просмотрев результат, можно заметить, что самая подходящая команда это passwd .
Так как правило использования указано в первом разделе руководства, не нужно указывать конкретный раздел:
Допустим на нужна команда, которая выводит количество слове в текстовом файле. Набираем в командной строке, что-то подобное:
Чтобы узнать все, что нужно знать о подсчете слов, введите следующую команду:
Говоря о wc , мы также можем в качестве значения передать параметру –k точку . , что означает любой символ. А затем передать вывод команде wc , которой передадим еще и параметр –l (lines), на выводе мы получим число страниц руководства.
Чтобы сделать все это введем команду:
Итого, у нас 6 706 страниц руководства, но не пусть вас не путает, если у вас это число отличается, так как объем руководства напрямую зависит от установленных в системе программ и предустановленных справочников.
Поиск по руководству
Также есть возможность вести поиск по самому руководству. Например, давайте рассмотрим руководство по команде history :
Чтобы вести поиск в следующих страницах от текущей вводим символ прямой косой черты / и набираем искомое слово. Результат этих действий будет отображаться внизу командной строки. Чтобы начать поиск нажимаем Enter.
Система выведет и выделит первое совпадение по искомому слову:
Чтобы перейти к следующему результату нажмите n , а чтобы перейти к предыдущим результатам – N .
Включить или выключить подсветку найденного слова можно сочетанием клавиш Esc+U .
Если же дошли до конца руководства, но не нашли нужную информацию, то можно вести поиск в обратном направлении. Для этого нажимаем ? и набираем нужный текст:
Также можно перемещаться вперед и назад по найденным результатам.
Есть другой способ поиска по руководству. Он скрывает все строки, которые не содержат совпадения с искомым словом, поэтому лучше использовать номера строк с этим методом.
Если набрать –N и нажать Enter во время просмотра руководства, то радом со строками отобразятся номера строк.
Теперь нажимаем на & , набираем искомое слово и нажимаем Enter.
Теперь отобразятся только строки, в которых найдено искомая фраза:
Просмотре вывод можно найти наиболее интересные результаты. Мы видим, что строка 292 наиболее подходящая и хотим просмотреть данный раздел руководства.
Чтобы показать все снова держим нажатым & и нажимаем Enter.
Теперь набираем номер строки: 292, а затем букву «g», чтобы перейти к указанной строке.
Как только мы нажмем «g» нас перебросит на 292 строку (именно поэтому на скриншоте выше не показана буква «g»).
Чтобы убрать нумерацию строк достаточно набрать –n и нажать Enter.
Прочитайте волшебное руководство
На страницах руководства много полезной информации. Даже у команд, которые вы думаете, вы хорошо знаете, есть такие возможности, о которых вы никогда не слышали.
Вы также определенно найдете команды, о существовании которых вы не знали. С таким количеством различных способов поиска и отслеживания информации, потрясающе иметь под рукой такую команду.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Источник