Что такое мануал linux

Время на прочтение
8 мин

Количество просмотров 32K

Первый отрывок третьей части серии руководств для новичков. Практически всё, что нужно знать, чтобы найти справочную информацию по вашей системе. Короче, RTFM и не задавайте глупых вопросов.

Навигация по основам Linux от основателя Gentoo:

Часть I: 1, 2, 3, 4

Часть II: 1, 2, 3, 4, 5

Часть III
  1. Документация (вступление)
  2. Модель прав доступа
  3. Управление аккаунтами
  4. Настройка окружения (итоги и ссылки)

Предисловие

Об этом руководстве

Встречайте «Администрирование для продолжающих», третье из четырех пособий, созданных для подготовки к экзамену «Linux Professional Institute’s 101» (2-ая редакция). Данная часть идеальна для тех, кто хочет улучшить свои знания фундаментальных основ администрирования Linux. Мы охватим ряд тем, включая системную и интернет документацию, модель прав доступа в Linux, управление аккаунтами пользователей и настройку окружения входа в систему.

Если вы новичок в Linux, рекомендуем начать с Частей 1 и 2. Для некоторых большая часть информации, изложенной в самоучителе, будет новой, но более опытные пользователи могут использовать его для того, чтобы отточить свои навыки администрирования Linux.

В конце серии этих руководств (всего их восемь, подготавливающих к экзаменам LPI 101 и 102) у вас будут все знания, необходимые для того, чтобы стать системным администратором Linux систем, а так-же вы будете готовы к получению сертификата LPIC уровня 1 от института Linux Professional.

Системная и сетевая документация

Типы системной документации в Linux

Существует три основных источника документации в Linux системах: страницы руководств (маны), info-страницы и поставляемая с приложениями документация в /usr/share/doc. В этом разделе мы рассмотрим каждый из этих источников, перед тем, как обращаться во внешний мир за дополнительной информацией.

Страницы руководств

Страницы руководств, или “man (от англ. manual — руководство) страницы”, ман-страницы, далее просто маны — это классическая форма справочной документации UNIX и Linux. В идеале, вы можете найти ман для любой команды, конфигурационного файла или библиотеки. Однако, на практике, Linux это бесплатное программное обеспечение и некоторые страницы руководств не были написаны или устарели. Тем не менее, маны остаются первым местом, куда следует обращаться за помощью.

Для доступа к ману просто введите man, а затем ваш запрос. Запустится программа-пейджер (просмотрщик, обычно less или more) со справочной информацией. Для того, чтобы закрыть её, нажмите клавишу q. Например, чтобы посмотреть информацию о команде ls, введите:

$ man ls

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

NAME (ИМЯ) Имя и однострочное описание команды
SYNOPSIS (ОБЗОР) Краткий обзор
DESCRIPTION (ОПИСАНИЕ) Углублённое описание функционала команды
EXAMPLES (ПРИМЕРЫ) Советы по использованию
SEE ALSO (СМОТРИ ТАКЖЕ) Связаные темы (обычно также ман-страницы)

Секции ман-страниц

Файлы, содержащие информацию манов хранятся в /usr/share/man (или в /usr/man на некоторых старых системах). В этой директории вы найдёте страницы руководств, упорядоченные по следующим секциям:

man1 Пользовательские программы
man2 Системные вызовы
man3 Библиотечные функции
man4 Специальные файлы
man5 Форматы файлов
man6 Игры
man7 Другое

Многочисленные ман-страницы

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

$ whatis printf
printf (1) - format and print data printf (3) - formatted output conversion

В данном случае, man printf по-умолчанию обратится к странице в секции 1 (Пользовательские программы). Если мы пишем программу на языке C, нас вероятно больше интересует страница из секции 3 (Библиотечные функции). Вы можете вызывать ман необходимой секции указав это в командной строке, так для вызова printf(3) мы введём:

$ man 3 printf

Поиск нужного мана

Иногда сложно найти правильную ман-страницу по заданной теме. В этом случае можно воспользоваться man -k для поиска по разделам «ИМЯ» ман-страниц. Но будьте осторожны, поскольку осуществляется поиск по подстроке и что-то, навроде man -k ls, выдаст очень много всего! Вот пример использования уточняющего запроса:

$ man -k whatis
apropos (1) - search the whatis database for strings makewhatis (8) - Create the whatis database whatis (1) - search the whatis database for complete words

Всё об “apropos”

Предыдущий пример не случаен. Во-первых, команда apropos полностью соответствует команде man -k. (На самом деле, я даже вам раскрою небольшой секрет. Когда вы запускаете man -k, фактически «за кулисами» стартует apropos). Во-вторых, существует команда makewhatis, которая сканирует все страницы в вашей Linux системе и создает базу данных для whatis и apropos. Обычно она запускается периодически из-под рута, чтобы поддерживать базу в актуальном состоянии:

# makewhatis

Для более подробной информации о команде «man» и её друзьях, вам стоит начать с изучения её собственной ман-страницы:

$ man man

MANPATH

По умолчанию, программа man будет искать ман-страницы в /usr/share/man, /usr/local/man, /usr/X11R6/man, и быть может в /opt/man. Возможно, вы захотите добавить новый пункт в этом пути поиска. Для этого, просто откройте /etc/man.conf в текстовом редакторе и добавьте строчку вроде такой:

MANPATH /opt/man

С этого момента, страницы руководств в директориях /opt/man/man* также будут найдены. Помните, что вам необходимо запустить makewhatis, чтобы добавить новые маны в базу whatis.

GNU info

Одно из ограничений страниц руководств это то, что они не поддерживают гипертекст, так что у вас не получится просто переходить от одного руководства к другому. Ребята из GNU увидели этот недостаток и ввели другой формат документации: инфо-страницы. Многие из программ GNU идут с расширенной документацией в формате инфо-страниц. Вы можете приступить к чтению инфо-страниц при помощи комманды «info»:

$ info

Простой вызов команды info даст список доступных инфо-страниц в вашей системе. Вы можете перемещаться по нему используя стрелки, переходить по ссылкам (которые обозначены звездочкой) с помощью клавиши Enter и выйти нажав q. Навигация основана на таковой в Emacs, так что если вы знакомы с этим редактором, вам будет легко освоиться. Чтобы познакомиться с Emacs, посмотрите руководство на developerWorks: Living in Emacs.

Вы также можете указать нужную инфо-страницы в командной строке:

$ info diff

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

$ info info

/usr/share/doc

Есть еще один источник помощи в вашей системе Linux. Большинство программ поставляются с дополнительной документацией в других форматах, таких как: простые текстовые файлы, PDF, PostScript, HTML. Посмотрите в каталоге usr/share/doc (или /usr/doc на более старых системах). Вы найдете длинный список директорий, каждая из которых идет с определенным приложением на вашей системе. Поиск по этой документации может навести вас на очень ценную информацию, которая не доступна в манах или инфо-страницах, такую как учебники или дополнительная технической документация. Беглый взгляд указывает на то, что здесь очень много материала для чтения:

$ cd /usr/share/doc
$ find . -type f | wc -l
7582

Фьюу! Вашим домашним заданием на этот вечер будет прочитать всего лишь половину (3791) этих документов. Учтите, завтра будет опрос. ;-)

Linux Documentation Project

В дополнение к системной документации, в интернете существует ряд отличных ресурсов посвященных Linux. «Linux Documentation Project» (LDP) — это группа добровольцев, которые занимаются составлением полного набора свободной документации по Linux. Данный проект существует чтобы собрать различные части документации по Linux в определенным месте, где её будет легко искать и использовать.

Обзор LDP

LDP состоит из следующих разделов:

  • Guides (руководства) — большие, очень серьезные пособия, такие как The Linux Programmer’s Guide (Руководство программиста Linux)
  • HOWTOs — помощь по конкретной теме, например DSL HOWTO
  • FAQs — сборники ответов на часто задаваемые вопросы, навроде этого Brief Linux FAQ
  • Man pages — помощь по конкретной команде (это те же самые маны, что вы видите в вашей системе, когда используете команду man).

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

LDP в добавок предоставляет доступ к списку ссылок и ресурсов, таких как Linux Gazette и Linux Weekly News, а также к спискам рассылки и архивам новостей.

Списки рассылки

Списки рассылки являются, вероятно, самым важным средством взаимодействия разработчиков Linux. Зачастую проекты разрабатываются участниками живущими на большом расстоянии друг от друга, возможно даже на противоположных сторонах земного шара. Списки рассылки представляют метод взаимодействия, в котором каждый разработчик проекта может связаться со всеми остальными и вместе дискутировать посредством электронной почты. Один из самых известных списков рассылки разработчиков, это Linux Kernel Mailing List (список рассылки ядра Linux).

Еще о списках рассылки

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

Если вы уделили время чтобы прочитать LKML FAQ по ссылке выше, то возможно заметили, что подписчики на списки рассылок часто недружелюбно относятся к вопросам, которые часто повторяются. Всегда разумно поискать в архивах рассылки перед тем, как задавать свой вопрос. Есть шансы, что это сэкономит и ваше время тоже!

Группы новостей

Новостные группы (англ. newsgroups) в интернете похожи на списки рассылки, но основаны на другом протоколе, который называется NNTP (Network News Transfer Protocol, что в переводе «Сетевой протокол передачи новостей»), а не на обмене электронной почтой. Чтобы иметь возможность общаться, вам придется установить NTTP-клиент, например slrn или pan. Основным преимуществом является тот факт, что вы можете принять участие в дискуссии, когда вам это нужно, а не постоянно смотреть как она ломится в ваш почтовый ящик :-)

Наибольший интерес представляют новостные группы начинающиеся с comp.os.linux. Посмотреть список групп вы можете на сайте LDP.

Сайты поставщиков и прочие

Сайты различных дистрибутивов Linux зачастую предоставляют обновленную документацию, инструкции по установке, информацию о совместимости или несовместимости с оборудованием и другие средства поддержки, такие как поиск по базе знаний. Например:

  • Redhat Linux
  • Debian Linux
  • Gentoo Linux
  • SuSE Linux
  • Caldera
  • Turbolinux

Поставщики аппаратного и программного обеспечения

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

  • IBM и Linux
  • HP и Linux
  • Sun и Linux
  • Oracle и Linux.

Перевод выполнил коллективный разум с помощью notabenoid.com. Спасибо хабравчанам (в алф. порядке): DMinsky, habrrich и kindacute (на хабре?). Их карма заслуживает плюсов. Если кого не упомянул, напишите в личку или в комментариях.

Продолжение…


Об авторах

Daniel Robbins

Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.

Chris Houser

Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.

Aron Griffis

Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».

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

Мануалы в Linux не описывают то, как создать или заставить работать SSL-сертификаты, однако, перед их создателями и не было такой цели. Любой сисадмин, работающий с Linux должен получать всю требующуюся ему информацию о командах, списке функций, параметрах системы, с которой он работает из мануалов уже установленных в операционной системе.

Содержание

  • 1 Как устроен справочник в Linux?
    • 1.1 Как читать интерактивную справку?
    • 1.2 Где хранятся мануалы?

Как устроен справочник в 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 — искать упоминание в тематиках.

Чтобы найти только раздел без указания заголовка нужно ввести, например, следующую команду:

man mc

Вызов manДанная команда покажет все системные вызовы для «GNU Midnight Commander».

А для нахождения и раздела, и заголовка необходимо ввести название команды и номер раздела:

man 2 sync

Однако не во всех команд есть раздел 2, например если написать «man 2 mc», то будет ошибка.

mc - нет раздела

Чтобы такого не было у man есть опция «-f». Она выдаст разделы, в которых присутствует команда.

man -f mc

Мануал с аргументом -f

Как видно из скриншота, утилита mc присутствует только в 1 разделе.

man 1 mc

Если пользователю нужны данные о том, в каких тематиках можно найти информацию о «mc», то к запросу man следует приписать аргумент  –k. Например, если ввести:

man -k mc

то на экране появится следующая информация:

Мануал с аргументом -k

Результат выполнения man -k mc

После запроса пользователь получит все страницы, на которых упоминается «mc», в них указан номер тематики или подраздела, а также ключевое слово.

Где хранятся мануалы?

Чтобы узнать, где именно в системе Linux находятся мануалы, которые по совместительству являются и входными данными, работающими с командой nroff, следует ввести команду manpath. После ее введения появится ответ системы:
/usr/local/man:/usr/local/share/man:/usr/share/man

Результат данной команды показывает подкаталоги, которые содержат в себе справочную информацию в системе Ubuntu.

Все 3 расположения разделены между собой знаком «:».

В любой момент можно сменить месторасположение страниц мануала, однако они находятся в переменной окружения MANPATH, поэтому для перемещения страниц мануала нужно сменить показатель переменной:

export MANPATH=/home/share/localman:/usr/share/man

Изначально в системах на основе Linux справочники хранятся в /usr/share/man. Команда «man» может работать и с кэшем страниц, однако для этого такие каталоги как /var/cache/man и /usr/share/man должны быть открыты для записей в них, что ведет к нарушениям в безопасности.

Для экономии пространства на диске мануалы находятся в сжатом виде, им это обеспечивает такая утилита как gzip.

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

У командной строки в Linux куча возможностей. Запомнить их все практически нереально, особенно если у вас беда с памятью. К счастью, все, что мы можем сделать с помощью командной строки, записано в отдельном месте — в руководстве. 

Что такое руководство

Руководство — это набор справочных страниц, которые объясняют, что делает та или иная команда, какие аргументы ей нужны и как она работает.

Некоторые объяснения в руководстве бывает сложно понять, но все у всех страниц единая структура — это удобно. Так что как только вы освоитесь, все станет понятно.

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

Чтобы вывести на экран страницы руководства, введите man <название команды>

man <название команды>

1. [email protected]: man ls
2. Name
3.    ls - list directory contents
4. 
5. Synopsis
6.    ls [option] ... [file] ...
7. 
8. Description
9.   List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
10.
11.    Mandatory arguments to long options are mandatory for short options too.
12.
13.    -a, --all
14.        do not ignore entries starting with .
15.
16.    -A, --almost-all
17.        do not list implied . and ..
18.
19. ...

Давайте разберемся: 

  • В строке 3 записана сама команда и простое однострочное описание того, что она делает.
  • В строке 6 так называемый синопсис — краткое объяснение того, как следует запускать команду. Квадратные скобки [] указывают на то, что это части необязательны. 
  • В строке 9 содержится более подробное описание команды.
  • В строке 11 и далее содержится список всех параметров командной строки, которые доступны для этой команды. Этот список всегда будет ниже описания. 

Примечание. Чтобы выйти из руководства, нажмите Q.

Как искать в руководстве

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

Чтобы сделать запрос, введите man -k <поисковый запрос>.

 man -k <поисковый запрос>

Искать можно и на конкретной странице руководство. Будучи на этой странице, введите ключевое слово после косой черты / и нажмите Enter. Если искомое слово появляется несколько раз, вы можете переключаться между страницами с помощью кнопки N

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

У многих параметров есть как длинная, так и короткая версия записи. Ниже вы увидите, что для перечисления всех записей каталога, включая скрытые файлы, можно использовать как параметр --all, так и его короткую версию — -a

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

[email protected]: pwd
/home/ryan
[email protected]: ls -a
[email protected]: ls --all
[email protected]: ls -alh
[email protected]: 

Поищите в руководстве по ключевому слову ls, чтобы узнать, что делает последняя команда. 

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

Что нужно запомнить

Команды

man <название_команды> 
Ищет в руководстве страницу, посвященную данной команде. 

man -k <ключевое_слово>
Ищет в руководстве все страницы, на которых есть заданное ключевое слово. 

/<ключевое_слово>
Ищет на текущей странице руководства ключевое слово.

N
Переключает на следующий найденный элемент поиска по странице. 

Идеи

Руководство — ваш друг. 
Не нужно пытаться запомнить все. Всю информацию можно легко найти в руководстве. 

Практические задания

    1. Найдите в руководстве страницу, посвященную команде ls. Поэкспериментируйте с некоторыми параметрами командной строки, которые вы там найдете. 
    2. Попробуйте выполнить несколько поисковых запросов по ключевым словам.

Man страницы в Linux

При работе в Linux иногда требуется чтение документации, руководств или help’ов. В Linux есть отличная документация, которая размещена в Man-страницах.

Что такое Man-страницы

Man-страницы (от слова manual — руководство) — это целая библиотека в системе Linux, содержащая руководства по командам, утилитам, программированию и другим областям системы и не только.

Как открыть Man-страницы

Для чтения Man-страниц предназначена команда man.

Чтобы получить руководство по использованию какой-либо команды нужно выполнить команду:

man название_команды

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

man wget

man wget

Синтаксис команды man

В общем виде синтаксис команды man следующий:

man [опции] [номер раздела] название

Разделы

Man-страницы разделены по тематикам на разделы (на секции). Каждый раздел имеет свой номер. Всего существует 8 основных разделов.

Если вы не указали раздел, при выполнении команды man, то сначала будет выполнен поиск руководства в первом разделе, если его там нет, то во втором и так далее.

Например, откроем руководство по команде sleep. В данном случае будет использоваться первый раздел.

man sleep

man sleep

А теперь получим справку по библиотечному вызову sleep языка программирования C (раздел 3):

man 3 sleep

man 3 sleep

Ниже представлена таблица с номерами разделов и их назначением (тематикой).

Номер
раздела
Описание
1 Основные команды.
2 Системные вызовы.
3 Библиотечные функции, включая стандартную библиотеку языка C.
4 Специальные файлы (обычно устройства из /dev) и драйвера.
5 Форматы файлов и соглашения.
6 Игры и скринсейверы.
7 Разное.
8 Команды системного администрирования и демоны.

Для указания ссылок на Man-страницы часто используют следующую запись: имя(раздел). Например, aporopos(1), less(1), exit(3).

Поиск Man-страниц

Самая полезная опция команды man, это опция -k.

-k — поиск Man-страниц. Выводит список Man-страниц, в которых встречается искомый запрос.

man -k kill

Горячие клавиши и поиск внутри Man-страницы

Вверх, Вниз, Enter — просмотр (прокрутка) Man-страницы.
PgUb, PgDn, Пробел — постраничное пролистывание.

/ — поиск внутри страницы. Нажимаете клавишу /, при этом внизу появляется строка для ввода текста. Вводите текст, который вы хотите найти, и нажимаете Enter.
? — поиск в обратном направлении (снизу вверх). Аналогично нужно ввести текст для поиска и нажать Enter.
n — переход к следующему вхождению.
Shift+n — переход к предыдущему вхождению.
& — поиск внутри страницы, но вместо подсвечивания результатов, вывести только строки, где было найдено искомое слово.

h — открыть справку по командам и горячим клавишам. Чтобы закрыть справку, используется клавиша q.

q — закрыть Man-страницу.

Установка Man-страниц

Как правило, базовые man-страницы обычно всегда установлены в дистрибутивах Linux, но иногда их нужно устанавливать самостоятельно. Для установки Man-страниц выполните следующие команды.
Для Ubuntu:

sudo apt install man-db manpages

Для Fedora, CentOS:

yum install man man-pages man-db

Для установки Man-страниц, содержащих описание библиотечных функций языка программирования C, выполните следующие команды.
Для Ubuntu:

sudo apt install manpages-dev manpages-posix-dev

Для Fedora:

yum install libstdc++-docs

Состояние перевода: На этой странице представлен перевод статьи man page. Дата последней синхронизации: 14 октября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

man-страницы (от англ. manual — руководство) — справочные страницы, которые предоставляются почти всеми *nix-дистрибутивами, включая Arch Linux. Для их отображения служит команда man.

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

Установка

man-db реализует man в Arch Linux, а less является просмотрщиком по умолчанию. Также можно использовать mandoc.

man-pages предоставляет руководства Linux.

Русский перевод доступен в man-pages-ru.

Можно использовать приложения для просмотра руководств:

  • GNOME Help — Просмотрщик справки для GNOME. Он позволяет смотреть man-страницы через yelp man:<name> или недокументированным сочетанием клавиш Ctrl+L в существующем окне.
https://wiki.gnome.org/Apps/Yelp || yelp
  • KHelpCenter — Приложения для документации KDE Applications. Man-страницы доступны в UNIX manual pages или при запуске khelpcenter man:<name>.
https://userbase.kde.org/KHelpCenter || khelpcenter
  • Konqueror — Файловый менеджер KDE и веб-браузер. Он может отображать man-страницы через man:<name>.
https://konqueror.org/ || konqueror
  • xman — Обеспечивает просмотр man-страниц по категориям.
https://xorg.freedesktop.org/ || xorg-xman

Доступ к man-страницам

Чтобы отобразить man-страницу, наберите

$ man имя_страницы

Страницы разделены на несколько разделов. Полный список разделов смотрите в man-pages(7).

На man-страницы принято ссылаться по имени, с указанием номера раздела в скобках. Часто существуют сразу несколько man-страниц с одинаковыми именами, но в разных категориях, например man(1) и man(7). В таком случае, команде man необходимо передать номер конкретного раздела перед именем man-страницы, например:

$ man 5 passwd

отобразит man-страницу по файлу /etc/passwd вместо утилиты passwd.

Или можно указать номер раздела после названия страницы, отделив его точкой:

$ man passwd.5

Поиск по страницам

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

$ man -k выражение
$ man --apropos выражение
$ apropos выражение

выражение по умолчанию интерпретируется как регулярное выражение.

Если вы хотите произвести более углубленный поиск по всему содержимому страниц, используйте опцию -K:

$ man -K password

Примечание: Возможность поиска реализауется отдельным кэшем. Он обновляется автоматически службой man-db.service, которую периодически запускает man-db.timer. Если вы получаете сообщение «ничего подходящего не найдено» для любого поискового запроса, попробуйте вручную обновить кэш, запустив команду mandb как root.

Вместо того, чтобы отображать man-страницу целиком, вы можете вывести лишь ее краткое описание, используя команду whatis. Например,

$ whatis ls
ls (1p)              - list directory contents
ls (1)               - list directory contents

Ширина страницы

Ширина man-страниц регулируется переменной окружения MANWIDTH.

Если ширина терминала слишком маленькая, переносы строк могут сломаться, что затруднит чтение. Можно исправить это установкой значения MANWIDTH при запуске man. В bash это можно сделать примерно так:

~/.bashrc
man() {
    local width=$(tput cols)
    [ $width -gt $MANWIDTH ] && width=$MANWIDTH
    env MANWIDTH=$width 
    man "$@"
}

Просмотр локальных страниц

Кроме утилиты man, для чтения man-страниц вы также можете использовать веб-браузер, например lynx или Firefox. Просмотр страниц в браузере позволяет воспользоваться основным преимуществом info-страниц — гиперссылками.

Конвертирование страниц в HTML

mandoc

Установите пакет mandoc. Чтобы конвертировать страницу, для примера, free(1), наберите:

$ mandoc -Thtml -Ostyle=style.css /usr/share/man/man1/free.1.gz > free.html

Получившийся файл free.html теперь можно открыть в любом веб-браузере.

man2html

Установите man2html из официальных репозиториев.

Сконвертируйте страницу командой:

$ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html

Другая полезная функция man2html — экспорт в обычный текстовый файл, который можно распечатать:

$ man free | man2html -bare > ~/free.txt

man -H

Реализация утилиты man от GNU, также позволяет открыть страницу в веб-браузере:

$ man -H free

Команда запустит браузер, установленный в переменной окружения BROWSER. Вы можете указать браузер явно, передав путь до исполняемого файла сразу после опции -H.

roffit

Установите пакет roffitAUR.

Для конвертирования страницы выполните:

$ gunzip -c /usr/share/man/man1/free.1.gz | roffit > free.html

Конвертирование в PDF

Man-страницы всегда были удобны для печати: они написаны в формате troff, который является типографским языком. Таким образом вы можете легко сконвертировать man-страницы в любой из форматов, который поддерживается в groff, который используется в man-db. Чтобы узнать список доступных устройств вывода, смотрите опцию -T в groff(1) (или mandoc(1) если вы используете пакет mandoc).

Эта команда создаст PDF-файл:

$ man -Tpdf имястраницы > имяфайла

Обратите внимание, что шрифты главным образом ограничены набором Times и имеют жестко заданные размеры. Документ не будет содержать гиперссылок. Некоторые man-страницы форматировались так, чтобы выглядеть хорошо в терминале, однако могут отображаться некорректно в форме PostScript или PDF-документов.

Просмотр онлайн-страниц

Существуют множество онлайн-хранилищ man-страниц; вот небольшой список:

  • Arch manual pages содержит man-страницы пакетов Arch Linux. Используется для ссылок на man-страницы в этой вики. Также можно использовать !archman DuckDuckGo bang для прямого поиска по man-страницам Arch.
  • Man7.org. Первоисточник страниц для man-pages.
  • manned.org — коллекция из разных дистрибутивов Linux, BSD и т.д. Множество версий пакетов.
  • man-страницы на die.net
  • man.cx
  • man-страницы Debian GNU/Linux
  • репозиторий man-страниц Ubuntu
  • man-страницы DragonFlyBSD
  • man-страницы FreeBSD Hypertext
  • man-страницы NetBSD
  • man-страницы OpenBSD
  • Руководство Plan 9 — Том 1
  • Руководство Inferno — Том 1
  • man-страницы форума The UNIX and Linux Forums

Также есть сравнительная таблица.

Важно: Некоторые дистрибутивы Linux предоставляют исправленные или устаревшие man-страницы, которые могут отличаться от тех, которые поставляются с пакетами Arch Linux. Имейте это в виду, просматривая man-страницы онлайн.

Полезные страницы

Здесь приведен небольшой список полезных man-страниц, которые могут помочь вам получить более углубленные знания о множестве полезных вещей. Некоторые из них могут служить хорошими справочниками (например, таблица ASCII).

  • ascii(7)
  • boot(7)
  • charsets(7)
  • chmod(1)
  • credentials(7)
  • fstab(5)
  • hier(7)
  • systemd(1)
  • locale(1p), locale(5), locale(7)
  • printf(3)
  • proc(5)
  • regex(7)
  • signal(7)
  • term(5), term(7)
  • termcap(5)
  • terminfo(5)
  • utf-8(7)

Вам могут быть интересны также и другие страницы седьмой категории:

$ man -s 7 -k ".*"

А также страницы, относящиеся непосредственно к Arch Linux:

  • alpm-hooks(5)
  • libalpm(3)
  • makepkg(8)
  • makepkg.conf(5)
  • makepkg-template(1)
  • mkinitcpio(8)
  • pacman(8)
  • pacman.conf(5)
  • pacman-conf(8)
  • pacman-key(8)

See also

  • Gentoo:man page
  • Write The Fine Manual with pod2man
  • History of UNIX Manpages

Понравилась статья? Поделить с друзьями:
  • Материа медика холдинг официальный сайт руководство
  • Руководство примет меры
  • Мануал для honda crf 250
  • Мануал для кавасаки скачать на русском
  • Тавегил уколы инструкция по применению для детей