что делает команда man
Что такое man
Поэтому разработчики придумали специальную систему справки, в которой вы можете найти информацию о любой команде. Большинство команд содержат в своих пакетах страницы справки, которые добавляются в общую базу данных во время установки. Как вы уже поняли, в этой статье мы разберемся что такое man и как пользоваться этой утилитой.
Что такое man?
Команда man позволяет получить доступ к общей базе справки по команде, функции или программе. Обычно для просмотра справки программе надо передать название команды или другого объекта в системе. Синтаксис у неё такой:
$ man раздел название_страницы
Обычно название страницы совпадает с именем команды или названием программы. Вся справка разделена на несколько разделов. По умолчанию страницы справки выводятся из всех разделов, но вы можете выводить страницы справки из определённого раздела. Для этого достаточно передать номер раздела команде. Вот список основных разделов:
Давайте рассмотрим несколько примеров. Для того чтобы посмотреть справку по команде man достаточно выполнить такую команду:
Для команды ls справка вызывается так:
Каждая страница в чем разница» rel=dofollow»>страница справки разделена на несколько секций. Вы можете видеть их на снимках экрана выше. Это:
Конечно существуют и другие разделы, но эти самые основные. Если информации про утилиту мало, то некоторые разделы могут быть объединены вместе, а некоторых может и вовсе не быть.
Для просмотра информации и управлением страницей справки используются такие горячие клавиши:
С перемещением по странице, скорее всего, всё понятно. Для того чтобы искать какое-либо слово на странице нажмите клавишу / и начните набирать слово, которое надо искать. Оно будет отображаться внизу окна:
Затем нажмите Enter и программа подсветит все вхождения этого слова в текст. Для поиска следующего вхождения нажимайте n:
Этих клавиш вам полностью хватит чтобы пользоваться справкой. Для вывода информации используется утилита less, поэтому если вам нужно больше горячих клавиш, смотрите соответствующую статью.
При запуске утилиты можно использовать несколько опций, давайте рассмотрим эти опции. Их не так уж много и самые интересные из них только несколько. Опция -f позволяет посмотреть краткое описание справочной страницы. Например:
Опция -K позволяет выполнять поиск по самим справочным страницам. Поиск выполняется методом перебора, поэтому занимает некоторое время:
А чтобы отобразить man на русском Linux надо передать этой опции значение ru_RU:
Однако для того чтобы это работало нужно чтобы в системе были установлены пакеты локализации для русского языка.
Выводы
Интерактивные руководства в Linux – команда man
Каждая уважающая себя система (или дистрибутив) на базе Linux содержит в своём составе так называемые man-страницы — «мануалы», т. е. справочные руководства. Ведь черпать информацию о том как пользоваться системой, в частности, о назначении команд, их опций, системной конфигурации и составляющих её (конфигурацию) файлов в итоге откуда-то нужно. Конечно, существуют большое количество технической литературы в виде изданий (как из открытых источников, так и коммерческих) по системному администрированию UNIX/Linux, однако всё это лишь дополняет (порой с качественным переводом) первоисточники, доступные локально «из коробки» в справочных системах Linux-дистрибутивов.
Конечно, man-руководства не содержат такой информации, к примеру, как сгенерировать и установить SSL-сертификат — они (man-руководства) и не предназначены для этого. Но любому системному администратору Linux получать информацию и исчерпывающее описание команд, библиотек функций, системной конфигурации и т. д. для обслуживаемого дистрибутива следует, в первую очередь, из справочной системы используемого дистрибутива.
Справочная система Linux
Для удобства организации и хранения справочной документации все страницы справочных руководств в Linux сгруппированы по тематическим разделам. В зависимости от дистрибутива одни и те же разделы могут содержать разный набор руководств. Допускается также деление разделов на подразделы. Следующая таблица демонстрирует состав основных разделов справочных руководств для некоторых систем:
Linux | Solaris | HP-UX | Содержание |
1 | 1 | 1 | Пользовательские приложения и команды |
2 | 2 | 2 | Коды ошибок системного ядра, а также описание системных вызовов |
3 | 3 | 3 | Описание функций системных библиотек |
4 | 7 | 7 | Сетевые протоколы, драйверы устройств |
5 | 4 | 4 | Описание стандартных форматов файлов |
6 | 6 | — | Информация о демонстрационных программах и играх |
7 | 5 | 5 | Различного рода документация |
8 | 1m | 1m | Команды системного администрирования |
9 | 9 | — | Спецификация системного ядра и внутренних интерфейсов |
— | — | 9 | Основная информация и описание, касающееся системы HP-UX |
По-умолчанию, без указания раздела команда man практически всегда находит требуемую информацию, поэтому на первый взгляд может показаться, что структура разделов не имеет особого значения. Но часты случаи, когда одна и та же искомая фраза содержится в разных контекстах и вот тут и полезно разбиение системной справки на разделы. К примеру, запрашиваемая фраза «passwd» подразумевает как команду, так и конфигурационных файл. Таким образом справочную информацию содержат (согласно вышеприведённой таблице) разделы 1, 4 и 5.
Стоит отметить, что в настоящее время разделы 8 всё чаще освобождаются и используются как резервные для последующего наполнения, а ранее содержащаяся в данных разделах информация (команды системного администрирования) перемещена (в большинстве дистрибутивов) в раздел 1. Также освобождаются и разделы 6.
Чтение интерактивной справки
Для того, чтобы вывести в терминал содержимое страниц по требуемому поисковому запросу, нужно выполнить команду man, которая имеет следующий синтаксис:
Команда man использует для вывода руководства утилиты less или more (а также и другие инструменты для постраничного вывода текста), при этом аккуратно форматирует текст для удобства его восприятия. Используемая утилита постраничной разбивки задаётся в переменной среды PAGER. Аргумент заголовок — это чаще всего имя команды, файла или даже устройства, о котором необходимо вывести разделы справки. Как правило, в первую очередь просматриваются разделы, содержащие информацию о командах, т. е. разделы 1, 6 и 8, а далее поиск производится по возрастанию номеров разделов.
Для указания конкретного раздела справки следует передавать параметр раздел, например:
выведет описание для команды sync, а команда:
отобразит страницы с описанием системного вызова sync.
Вывод содержит список страниц (с указанием раздела или подраздела справочной системы в скобках), для которых в строках их описаний содержится ключевое слово. Этого же можно добиться командой apropos запрос.
Хранение интерактивных руководств
Для определения, где в конкретной Linux-системе хранятся страницы справочных руководств (они же являются входными данными для обработки командой nroff, используемой man), достаточно выполнить команду manpath:
В данном выводе представлены каталоги, в подкаталогах которых хранится справочная информация для систем Ubuntu. Пункты представленного списка разделены двоеточиями. Расположение для хранения man-страниц можно изменить. Поскольку данная опция хранится в переменной окружения MANPATH, то для этого нужно изменить значение этой переменной:
По-умолчанию для Linux-систем справочные руководства хранятся в /usr/share/man. Команда man также поддерживает работу с кэшем страниц, но только тогда, когда соответствующие каталоги /var/cache/man и /usr/share/man доступны для записи, что критично в плане безопасности. В целях экономии дискового пространства справочные руководства хранятся в сжатом виде и для сжатия используется, как правило, утилита gzip. Сжатие страниц практически не сказывается на производительности во время работы со справочной системой, поскольку команда man способна очень быстро производить разархивацию.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
В заметках, который приведены в этом разделе, и которые касаются самых важных команд в терминале, я дал лишь поверхностный обзор команд линукс, предоставив достаточно информации для того, чтобы приступить к работе с ними. Но все команды предлагают широкий набор аргументов, обеспечивающих дополнительные возможности управления их выполнением и отображаемым выводом.
Кстати, нет ничего обиднее, чем пЕрЕплАтИть при покупке 🤦🏻♂️ Поэтому ОЧЕНЬ рекомендую подписаться на канал в Телеграм 👉🏻 Промокоды для Алиэкспресс 👈🏻 Постоянно узнавая про новые акции 🔥 на разные товары, вы точно НИКОДА не переплатите 👌🏻
И чтобы узнать эти аргументы, проще, чем скачать рингтоны на iphone. Для этого не нужно читать толстые мануалы или обшаривать весь интернет. Для этого существует специальная команда man. Как пользоваться командой man?
Команда man происходит от слова manual, то есть руководство. С помощью команды man вы сможете найти все, что вам когда-либо захочется узнать о программе Bash и его командах. Команда очень проста, так как требует ввести man, а затем имя команды, например:
Дистрибутивы Linux напичканы массой подобной информации, поэтому как только у вас возникает сомнение относительно применения команды или ее назначения, просто вызывайте страницу man. Некоторые страницы справки сообщают о том, что описано на другой, так называемой странице info с включенной в нее более свежей или дополнительной информацией. Вы можете вызвать на экран страницу info, заменив в командной строке man на info.
Кроме того, вы, как правило, можете получить краткое пояснение работы самой команды man и ее ключей с помощью аргумента –help.
Вот такая простая, и в тоже время очень важная и полезная команда man.
Лично я часто покупаю на Aliexpress и стараюсь это делать, когда скидки на МАКСИМУМ 🔥 Поэтому ОЧЕНЬ советую ВАМ Телеграм канал 👉🏻 Распродажи на Алиэкспресс 👈🏻
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как пользоваться командой man в Linux: основы и секреты
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Встроенное руководство Linux
Существует старая шутка: единственная команда, которую нужно знать в Linux это man – точка входа в руководство пользователя. Несмотря на то, что тут есть доля правды, но даже сама команда man может ввести в тупик вначале. Вернее, поиск информации с помощью этой команды.
Наверное, у всех был случай, когда знали, что вы хотите сделать, но не знали какая команда поможет выполнить поставленную задачу. Это похоже на то, как искать слово в словаре при том, не зная самого слова.
Итак, как же можно найти, то что нужно? С man можно легко обойти эту сложность.
Как перейти к руководству
Ниже показано руководство по команде man :
Структура руководства
В начале страницы можно увидеть Название (Name) и Описание (Synopsis). Есть определённые правила оформления страницы руководства. Есть руководства по командам, программам, функциям и т.д. Не во всех руководствах есть эти заголовки, так как некоторые из них применимы только к конкретным командам.
Ниже приведён список заголовков, которые можно встретить в руководстве.
Разделы руководства
Прокрутив ниже на несколько страниц увидите список разделов в данном руководстве:
Это следующие разделы:
Цифры в скобках рядом с командой указывают на раздел руководства. Например, man (1) означает первый раздел руководства, которая описывает работу команды man.
Если нужно найти информацию в конкретном разделе нужно передать команде номер этого раздела.
Например, чтобы открыть седьмой раздел руководства по команде man введем следующую команду:
Руководство откроется с седьмого раздела:
Поиск записей в разделах
В основном, если нужно просто узнать, как пользоваться той или иной командой, не надо указывать номер раздела. man найдёт стандартную запись в первом разделе руководства, которая описывает как нужно пользоваться командой. Иногда же, в поиске нестандартной информации, нужно открыть конкретный раздел, содержащий запись по команде.
В Linux легко можно найти разделы, в которых встречается нужная записб. Каждое руководство обладает названием и кратким описанием. Ключ –f (whatis) ведёт поиск по заголовкам и возвращает все вхождения.
Например, введем следующую команду:
Например, введём следующую команду:
Как видно, для команды printf были найдены две записи: одна в первом разделе, и другая в третьем разделе. Однако это разные команды. Информация в разделе 1 описывает команду printf командной строки, которая форматирует данные при выводе в окно терминала. В третьем же разделе описывается семейство функций библиотеки printf в языке программирования C.
Многие из этих команд описаны в одних и тех же информационных страницах, поскольку их основные функциональные возможности в основном одинаковы. Справочная страница в чем разница» rel=dofollow»>страница для vprintf описывает функциональность 10 команд, перечисленных на рисунке выше.
Эту функцию можно использовать для поиска информации, для выполнения конкретной задачи, даже если не знаете имя команды, которую хотите использовать.
Для этого нужно ввести следующую команду:
Так как правило использования указано в первом разделе руководства, не нужно указывать конкретный раздел:
Допустим на нужна команда, которая выводит количество слове в текстовом файле. Набираем в командной строке, что-то подобное:
Чтобы узнать все, что нужно знать о подсчете слов, введите следующую команду:
Чтобы сделать все это введем команду:
Итого, у нас 6 706 страниц руководства, но не пусть вас не путает, если у вас это число отличается, так как объем руководства напрямую зависит от установленных в системе программ и предустановленных справочников.
Поиск по руководству
Также есть возможность вести поиск по самому руководству. Например, давайте рассмотрим руководство по команде history :
Чтобы вести поиск в следующих страницах от текущей вводим символ прямой косой черты / и набираем искомое слово. Результат этих действий будет отображаться внизу командной строки. Чтобы начать поиск нажимаем Enter.
Система выведет и выделит первое совпадение по искомому слову:
Также можно перемещаться вперед и назад по найденным результатам.
Есть другой способ поиска по руководству. Он скрывает все строки, которые не содержат совпадения с искомым словом, поэтому лучше использовать номера строк с этим методом.
Если набрать –N и нажать Enter во время просмотра руководства, то радом со строками отобразятся номера строк.
Теперь отобразятся только строки, в которых найдено искомая фраза:
Просмотре вывод можно найти наиболее интересные результаты. Мы видим, что строка 292 наиболее подходящая и хотим просмотреть данный раздел руководства.
Чтобы показать все снова держим нажатым & и нажимаем Enter.
Теперь набираем номер строки: 292, а затем букву «g», чтобы перейти к указанной строке.
Как только мы нажмем «g» нас перебросит на 292 строку (именно поэтому на скриншоте выше не показана буква «g»).
Чтобы убрать нумерацию строк достаточно набрать –n и нажать Enter.
Прочитайте волшебное руководство
На страницах руководства много полезной информации. Даже у команд, которые вы думаете, вы хорошо знаете, есть такие возможности, о которых вы никогда не слышали.
Вы также определенно найдете команды, о существовании которых вы не знали. С таким количеством различных способов поиска и отслеживания информации, потрясающе иметь под рукой такую команду.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Документация Linux
Man-страницы
Вместе с дистрибутивами GNU/Linux устанавливается большое число консольных утилит, выполняемых в Bash-оболочке. Кроме того, множество программ потом устанавливает сам пользователь. В связи с этим невозможно запомнить весь перечень команд с их параметрами. Поэтому для каждой программы должна иметься страница в чем разница» rel=dofollow»>страница документации, так называемая man-страница. Здесь man – это сокращение от слова manual (руководство, пособие).
На скриншоте показана страница в чем разница» rel=dofollow»>страница документации к утилите sleep, входящей в GNU/Linux. Страница открывается по команде man sleep и является одной из самых коротких. Здесь мы можем видеть всю структуру man-страницы, состоящей из следующих разделов:
NAME. Имя команды, и кратко что она делает.
SYNOPSIS. Варианты синтаксиса, т. е. способов записи, команды. Параметры без скобок являются обязательными. В квадратных скобках – необязательными (опциональными).
DESCRIPTION. Подробное описание программы и ее ключей.
AUTHOR. Разработчик программы.
REPORTING BUGS. Куда сообщать об ошибках.
COPYRIGHT. Авторские права на программу, лицензия, под которой она распространяется.
SEE ALSO. Дополнительная информация.
Данные разделы стандартны и характерны для всех man-страниц.
Обратите внимание, в первой строке мана пишется имя программы и в скобках ставится число. Так в примере выше написано SLEEP(1). Число обозначает раздел, к которому относится данная страница в чем разница» rel=dofollow»>страница документации Linux. Пользовательские утилиты относятся к разделу под номером 1.
Если посмотреть документацию к программе apt-get, с помощью которой во многих дистрибутивах Linux устанавливается ПО, то там будет стоять число 8. К восьмому разделу относятся программы администрирования системы, то есть выполняемые с правами суперпользователя (root’а).
Большинство man-страниц достаточно длинные и не помещаются на одном экране. Поэтому пользуются горячими клавишами навигации по документации:
Стрелки вверх и вниз для построчной проктуртки.
Клавиши Page Up и Page Down для постраничной прокрутки.
Home и End перемещают в начало или конец страницы.
Нажатие q приводит к закрытию страницы документации.
Есть и другие клавиши управления.
В зависимости от дистрибутива часть страниц может быть переведена на русский язык. Однако большинство, как и почти вся документация в сфере IT, написаны на английском языке.
Документация Info
Info-руководство – другой вариант документации команд Linux. Описание команд в info менее формализировано и поэтому зачастую более понятно.
Команда вида info имя_программы откроет ту часть info-документации, где начинается описание указанной программы.
На скрине info-страница для утилиты yes.
Info-руководство – по-сути один большой гипертекстовый сборник, в котором можно перемещаться по ссылкам. Для этого надо установить курсор в подчеркнутую фразу, начинающейся с *, и нажать Enter.
С помощью клавиши u можно подняться на самый верхний уровень info-документации Linux. Клавиши n и p перемещают вниз и вверх от статьи к статье. На изображении ниже показано начало самого верхнего уровня иерархии страниц info.
Команда apropos
Может возникнуть ситуация, когда требуется выполнить какую-либо задачу, а есть ли программа для этого, и как она называется, не известно. В таких случаях можно попробовать поискать с помощью утилиты apropos. Она выводит на экран краткие описания команд, содержащие строку, переданную ей в качестве аргумента.
Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.