Как использовать команду Linux man: скрытые секреты и основы

5 февраля 2021 |

Как использовать команду Linux man: скрытые секреты и основы

A terminal prompt on a Linux laptop computer. Fatmawati Achmad Zaenuri / Shutterstock

Все, что вам нужно знать о Linux, находится на его страницах руководства. Например, вы можете найти команду для выполнения задачи, даже если не знаете, как она называется. Но как найти справочные страницы? Вот несколько уловок.

Встроенное руководство по Linux

Есть старая (из золотой эры Unix) Linux-шутка, что единственная команда, которую вам нужно знать, — это man, системная точка входа в руководство пользователя. В этом есть доля правды, но даже человек поначалу может сбивать с толку. Или, точнее, поиск нужной информации может сбивать с толку.

Вы когда-нибудь знали, что хотели сделать, но не знали имени команды, которая могла бы выполнить задачу? Мы, наверное, все там были. Это похоже на попытку найти слово в словаре, когда вы его не знаете.

Итак, как вы можете найти то, что ищете? Что ж, есть способы обойти это затруднительное положение с мужчиной.

Цифры — еще одна проблема для новичков. Что это такое и что они означают? В документации и в Интернете можно встретить такие вещи, как man (2) или man (5). Вы увидите ссылки на команды, за которыми также следуют числа, например, mount (2) и mount (8). Разумеется, не может быть более одной команды монтирования, верно? Как мы увидим, числа важны и относительно просты.

Говоря о простоте, поиск внутри человека довольно прост, если вы знаете, как это делать. На самом деле, есть несколько изящных способов поиска и навигации в человеке. Давайте запустим его и посмотрим!

Как открыть руководство

Чтобы использовать man, вы вводите man в командной строке, затем пробел и команду Linux. man открывает руководство Linux на «странице руководства», описывающей эту команду — если, конечно, он сможет ее найти.

Давайте наберем следующее и посмотрим, что man говорит о man:

man man

Откроется страница руководства для man.

Как видите, это страница man (1).

Следуйте этим советам для навигации по странице:

  • Для перемещения по странице руководства по одной строке за раз: используйте колесо прокрутки мыши или клавиши со стрелками вверх и вниз и Enter.
  • Для перемещения по странице руководства на один экран за раз: нажмите клавишу пробела и клавиши PgDn и PgUp.
  • Чтобы перейти непосредственно к верхней или нижней части справочной страницы: нажмите клавиши Home и End.

Если вы нажмете H, вы войдете в раздел справки и увидите таблицу альтернативных комбинаций клавиш, которые вы можете использовать. Те, что перечислены выше, вероятно, будут более естественными для большинства людей.

Чтобы выйти из man, просто нажмите Q.

Анатомия человека Страница

В верхней части страницы вы видите заголовки « Имя »и« Сводка ». Существует соглашение о компоновке страниц руководства. Есть справочные страницы для команд, программ и функций программирования (библиотечных процедур). Вы не увидите все эти заголовки на каждой странице руководства, потому что некоторые из них применимы только к определенным типам команд.

Ниже приведены некоторые из заголовков, которые вы можете увидеть:

  • Имя: имя команды, описываемой на странице руководства.
  • Краткое содержание: краткое описание команды и ее синтаксиса.
  • Конфигурация: сведения о конфигурации для устройства.
  • Описание: объяснение того, что делает программа.
  • Параметры: описание параметров командной строки, которые принимает команда.
  • Статус выхода: возможные значения статуса выхода для команды и причины их использования.
  • Возвращаемое значение: если страница руководства предназначена для библиотечной процедуры, это описывает значение, которое библиотечная процедура может отправить обратно функции, которая вызвала эту процедуру.
  • Ошибки: список значений который может быть помещен в errno в случае ошибки.
  • Среда: список переменных среды, которые влияют на команду или программу и каким образом.
  • Файлы: список файлов, используемых командой или программой, например конфигурация файлов.
  • Атрибуты: сводка различных атрибутов команды.
  • Версии: сведения о версиях ядра или библиотеки Linux, в которых системный вызов или функция библиотеки впервые появились или значительно изменились с предыдущие версии.
  • Соответствие: описание любых стандартов, которым может соответствовать команда, например POSIX.
  • Примечания: прочие примечания.
  • Ошибки: известные проблемы.
  • Примеры: один или несколько примеров, демонстрирующих использование команды.
  • Авторы: люди, написавшие или поддерживающие команду.
  • См. также: Рекомендуемая литература относящиеся к команде или теме.

Разделы руководства

Если вы прокрутите вниз пару страниц, вы увидите список разделов в руководстве.

Это следующие разделы:

  • Общие команды: команды, которые вы используете в командной строке.
  • Системные вызовы: функции ядра, которые может вызывать программа.
  • Библиотечные функции: программы функций могут вызывать библиотеки кода (в основном стандарт C).
  • Специальные файлы: обычно устройства, такие как те, которые находятся в / dev, и их драйверы.
  • Форматы файлов и соглашения: форматы для файлов, таких как passwd, таблица cron и архивные файлы tar.
  • Игры: описания команд, таких как fortune, которые отображают цитаты из базы данных при их запуске.
  • Разное: описание таких вещей, как inodes, параметры загрузки и сам человек.
  • Системное администрирование: команды и демоны обычно зарезервированы для работы root.
  • Процедуры ядра: информация, относящаяся к внутренней работе ядра. Сюда входят функциональные интерфейсы и переменные, полезные, например, программистам, которые пишут драйверы устройств. В большинстве систем этот раздел не установлен.
  • Когда вы видите команду, за которой следует номер, это относится к описанию этой команды в этом разделе руководства. Например, man (1) относится к записи в первом разделе руководства, описывающем команду man.

    На изображении выше вы видите ссылку на man (7). Это означает, что в другом разделе больше информации о человеке. Когда мы впервые открыли страницу руководства, на ней был отображен man (1). Если вы набираете только man без номера раздела, man просматривает все разделы по порядку, ища запись для введенной вами команды. Конечно, он обнаружил man (1) раньше man (7).

    Если вы хотите заставить man найти запись из определенного раздела, вы должны указать номер раздела в командной строке.

    Например, мы вводим следующее, чтобы открыть запись для man в седьмом разделе:

    man 7 man

    Руководство открывается для человека запись в седьмом разделе.

    Эта страница руководства содержит инструкции по написанию страниц руководства. В нем описывается формат файла и макросы, которые вы можете использовать для выполнения некоторых работ за вас. Страница man (1) в первом разделе, который мы рассматривали ранее, описывает, как использовать сам man.

    Как найти записи в разделах

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

    Вы можете легко узнать, какие разделы руководства содержат записи для команды. Каждая страница руководства имеет заголовок и краткое описание. Параметр -f (whatis) выполняет поиск по заголовкам страниц и возвращает список соответствий.

    В этом примере мы вводим следующее:

    man -f man

    Две страницы man перечислены вместе с номерами разделов и краткими описаниями. Однако будьте осторожны — некоторые записи имеют одинаковое имя, но описывают разные команды и функции.

    Например, мы вводим следующее:

    man -f printf

    Похоже, что для printf были найдены две записи: первая в разделе один, а другой в третьем разделе. Однако это разные команды. На странице руководства в первом разделе описана команда printf из командной строки, которая форматирует вывод в окне терминала. На странице руководства в третьем разделе описывается семейство библиотечных функций printf на языке программирования C.

    Также можно искать по кратким описаниям, а также по заголовкам страниц. Для этого вы используете опцию -k (apropos). Это также будет соответствовать вхождению поискового запроса внутри других, более длинных слов.

    Мы вводим следующее:

    man -k printf

    Многие Эти команды описаны на тех же нескольких страницах руководства, потому что их основные функции в основном одинаковы. На странице руководства для vprintf описаны функции 10 команд, перечисленных на изображении выше.

    Вы можете использовать эту функцию для поиска информации, связанной с тем, чего вы пытаетесь достичь, даже если вы этого не сделаете. знать имя команды, которую вы хотите использовать.

    Допустим, вы хотите изменить пароль учетной записи пользователя. Мы можем искать любые команды, которые упоминают «пользователь» в заголовках или описаниях страниц руководства. Затем мы можем передать его через grep для поиска записей, содержащих «пароль».

    Для этого мы вводим следующее:

    man -k ‘user’ | grep password

    Поскольку мы заключили слово «пользователь» в одинарные кавычки и включили пробел в конце, он найдет совпадения только для «пользователь», но не «пользователи». ” Быстрый просмотр результатов поиска показывает, что вероятным кандидатом является пароль.

    Так как это раздел на одну страницу руководства и нам не нужно включать номер раздела в команду, мы вводим следующее:

    man passwd

    Скажем, нам нужна команда, которая считает число слов в текстовом файле. Мы вводим следующее, чтобы увидеть, существует ли что-то подобное:

    man -k word | grep count

    Чтобы узнать все, что нужно знать о подсчете слов, мы набираем эту команду:

    man wc

    Говоря о wc, мы также можем использовать параметр -k (apropos) с одной точкой (.) в качестве цели поиска, которая будет соответствовать всему. Если мы пропустим это через wc и используем параметр -l (lines), он сообщит нам, сколько страниц руководства имеется на компьютере.

    Чтобы сделать все это, мы набираем следующую команду:

    man -k. | wc -l

    На этом компьютере с Ubuntu имеется 6706 страниц руководства, но не удивляйтесь, если их число будет отличаться от вашего. Он может варьироваться в зависимости от того, какие пакеты программного обеспечения и служебные программы установлены на вашем компьютере и какие страницы руководства были предварительно установлены.

    Поиск на странице руководства

    Вы также можете искать вперед или назад от вашего текущего положения внутри человека страница.

    В этом примере мы вводим следующее, чтобы открыть страницу руководства по команде history:

    man history

    Для поиска вперед мы нажимаем косую черту (/), а затем введите слово «событие». Цель поиска появляется в нижней части окна терминала, и мы нажимаем Enter, чтобы начать поиск.

    В окне отображается первый результат всех найденных совпадений, и они выделены.

    Нажмите «n», чтобы перейти от результата к результату в нижней части страницы. Для поиска в обратном направлении по странице руководства нажмите «N», это переместит вас обратно в верхнюю часть страницы.

    Чтобы включить или выключить выделение, нажмите Esc + U.

    Если вы находитесь в самом низу страницы руководства и хотите выполнить поиск вверх, нажмите вопросительный знак (?), А затем введите условие поиска. Мы искали «запись».”

    Снова выделяются все совпадающие результаты.

    Для поиска следующего совпадающий результат, нажмите «n» для перехода к началу страницы руководства. Нажмите «N», чтобы перейти к предыдущему результату соответствия и перейти к концу страницы руководства.

    Есть еще один способ поиска на странице руководства. Он скрывает все строки, которые не соответствуют вашему поисковому запросу, поэтому лучше всего использовать номера строк с этим методом.

    Если мы введем «-N» и нажмем Enter, мы увидим номера строк на странице руководства.

    Мы нажимаем амперсанд (&), введите наш поисковый запрос (номер) и нажмите Enter.

    Отображаются только те строки, которые содержат наш поисковый запрос.

    Их легко просмотреть и найти все, что выглядит интересным. Мы думаем, что строка 292 выглядит многообещающей, поэтому мы хотим перейти в этот раздел справочной страницы и проверить ее.

    Чтобы снова увидеть все строки, мы нажимаем амперсанд (&), а затем нажимаем Enter.

    Мы вводим «292,» а затем «g» для перехода к этой строке.

    Как только мы набираем «g», мы попадаем в строку 292 (вот почему «G» не отображается на изображении выше). Затем в верхней части окна терминала отображается строка 292.

    Вы можете нажать «-n» и нажать Enter, чтобы удалить номера строк.

    Прочтите Fabulous Manual

    На страницах руководства есть много информации. Даже с командами, которые, как вы думаете, вам хорошо знакомы, можно с уверенностью сказать, что есть и другие варианты, о которых вы никогда не слышали.

    Вы также определенно найдете команды, о существовании которых вы даже не подозревали. Благодаря такому количеству различных способов поиска и отслеживания информации, как здорово иметь все под рукой.

    Как использовать команду Linux man: скрытые секреты и основы


    Напишите пару строк: