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

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

Время на прочтение
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. Часть II: Первые шаги в изучении интерфейса командной строки

Оригинал:

Linux Fundamentals

Автор: Paul Cobbaut

Дата публикации: 16 октября 2014 г.

Перевод: А.Панин

Дата перевода: 11 декабря 2014 г.

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

Вы узнаете о том, как использовать команду man, а также такие связанные с ней команды, как whereis, whatis и mandb.

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

Команда man $команда

Вы можете ввести команду man с последующим именем интересующей команды (для которой вам хотелось бы получить справочную информацию) и начать чтение страницы руководства. Нажмите q для выхода из режима чтения страницы руководства. Некоторые страницы руководств содержат примеры (расположенные ближе к концу страницы).

paul@laika:~$ man whois
Форматирование страницы whois(1), подождите...

Команда man $имя_файла_конфигурации

Для большинства файлов конфигурации имеются отдельные страницы руководств.

paul@laika:~$ man syslog.conf
Форматирование страницы syslog.conf(5), подождите...

Команда man $демон

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

paul@laika:~$ man syslogd
Форматирование страницы syslogd(8), подождите...

Команда man -k (apropos)

Команда man -k (или apropos) позволяет вывести список страниц руководств, содержащих заданную строку.

paul@laika:~$ man -k syslog
lm-syslog-setup (8)  - configure laptop mode to switch syslog.conf ...
logger (1)           - a shell command interface to the syslog(3) ...
syslog-facility (8)  - Setup and remove LOCALx facility for sysklogd
syslog.conf (5)      - syslogd(8) configuration file
syslogd (8)          - Linux system logging utilities.
syslogd-listfiles (8) - list system logfiles

Команда whatis

Для ознакомления с описанием страницы руководства следует использовать команду whatis с именем интересующей страницы руководства.

paul@u810:~$ whatis route
route (8)            - show / manipulate the IP routing table

Команда whereis

Расположение файла страницы руководства в рамках файловой системы может быть определено с помощью команды whereis.

paul@laika:~$ whereis -m whois
whois: /usr/share/man/man1/whois.1.gz

Этот файл может быть непосредственно прочитан с помощью команды man.

paul@laika:~$ man /usr/share/man/man1/whois.1.gz

Номера справочных разделов

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

1 Исполняемые программы или команды оболочки (shell) 
2 Системные вызовы (функции, предоставляемые ядром) 
3 Библиотечные вызовы (функции, предоставляемые программными библиотеками) 
4 Специальные файлы (обычно находящиеся в каталоге /dev) 
5 Форматы файлов и соглашения, например о /etc/passwd 
6 Игры 
7 Разное (включает пакеты макросов и соглашения), например man(7), groff(7) 
8 Команды администрирования системы (обычно, запускаемые только суперпользователем) 
9 Процедуры ядра [нестандартный раздел]

Команда man $раздел $файл

Таким образом, при обращении к странице руководства для команды passwd, вы можете обнаружить, что эта страница обозначается как passwd(1); при обращении к странице руководства для файла passwd используется обозначение passwd(5). Приведенные ниже примеры команд иллюстрируют методику открытия страниц руководств из корректных разделов.

[paul@RHEL52 ~]$ man passwd      # открывает первую найденную страницу руководства
[paul@RHEL52 ~]$ man 5 passwd    # открывает страницу руководства из раздела 5

Команда man man

Если вы желаете узнать больше о команде man, прочитайте это замечательное руководство (Read The Fantastic Manual — RTFM).

К сожалению, на страницах руководств невозможно найти ответы на все вопросы…

paul@laika:~$ man woman
Нет справочной страницы для woman

Утилита mandb

Если вы убеждены в том, что страница руководства существует, но при этом вы не можете получить доступ к ней, попробуйте выполнить команду mandb в дистрибутиве Debian/Mint.

root@laika:~# mandb
В 0 man-подкаталогах содержатся более новые справочные страницы. 
Добавлено 0 справочных страниц. 
Добавлено 0 побочных cat-страниц. 
Вычищено 0 старых записей базы данных.

Или команду makewhatis в дистрибутиве CentOS/Redhat.

[root@centos65 ~]# apropos scsi
scsi: ничего подходящего не найдено.
[root@centos65 ~]# makewhatis 
[root@centos65 ~]# apropos scsi
hpsa                 (4)  - HP Smart Array SCSI driver
lsscsi               (8)  - list SCSI devices (or hosts) and their attributes
sd                   (4)  - Driver for SCSI Disk Drives
st                   (4)  - SCSI tape device

Если вам понравилась статья, поделитесь ею с друзьями:


Состояние перевода: На этой странице представлен перевод статьи 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

The man pages, short for reference manual pages, are your keys to Linux. Everything you want to know is there – take it all in an run with it. The collection of documents will never win a Pulitzer prize, but the set is quite accurate and complete. The man pages are the primary source and that authority is well-known.

While they are the “go to” source, they aren’t the most pleasant to read. Once, in a long past philosophy class, I was told that reading Aristotle was the most boring read around. I disagreed: when it comes to dry reading, Aristotle comes in at a distant second to man pages.

At first glance, the pages may look incomplete but, believe it or not, the man pages aren’t designed to hide information from you – it’s just that there is so much information that the pages have to be structured and information is given in the most brief form possible. The explanations are rather spartan and they will take some getting used to, but once you get the hang of using them, you’ll see how useful they actually are.

Getting Started with the man Pages in Linux

The pages are viewed through a utility called, man, and the command to use it is rather easy. In the simplest form, to use man, you type man on the command line, followed by a space and the command that you want to look up, such as ls or cp, like so:

man ls

man opens the manual page of the ls command.

man page example

You can move up and down with the arrow keys and press q to quit viewing the man page. Usually, the man pages are opened with less so the keyboard shortcuts for less command work in man as well.

For example, you can search for a specific text using /search_term and so on.

There is an introduction to the man pages and it’s important that you read this one. It spells out, in great detail, how the man pages are laid out and organized.

To see this page, open a terminal and type:

man man

man man

man page of man

Section What?

Before you begin to look at man pages much deeper, it will be helpful to know that man pages have a set page layout and a filing scheme. This can be confusing to a newcomer since I can say: “Look at the NAME section of the man page for ls.” I can also say, “Look at the man page for passwd in section 5.”

I italicized the word, section to try to show a source of confusion. The word, section is being used in two different ways, but the difference isn’t always explained to newcomers.

I am not sure why this confusion sets in, but I have seen it happen a few times back when I trained new users and entry-level sysadmins. I think it might be tunnel vision. Focusing on one thing can make a person forget about another. It’s a lot like not being able to see the forest because the trees are in the way.

To those who know the difference already, you can skip this sub-section. This part is directed to the people new to man pages.

Here is the difference:

The man page

Individual man pages are made to show blocks of information. For example, every man page has a NAME section to show the name of the command along with a brief description. There will be another block of information, called SYNOPSIS to show how the command is used, and so on.

Linux man page example

Every man page will have these, and other headings. These sections, or headings, on individual man pages, helps keep things consistent and information compartmentalized.

The Manual

The use of section, as in “Look at the man page for passwd in section 5” speaks of the manual as a whole. When we look at only one page, it can be easy to overlook that, but the man page for passwd is part of the same manual that has a man page for lsrmdatecal, and others.

The entire Linux manual is huge; it has thousands of pages. Some of those pages have specialized information. Some pages have information that programmers need, while others have information unique to networking, and others that system administrators would be interested in.

These pages are grouped according to their unique purpose. Think of splitting the entire manual into several chapters – each chapter having a specific topic. There are 9 or so chapters (very large ones at that). It just so happens that these chapters are called sections.

To sum this up:

  • Sections of a single page of the manual (what we call the man page) are blocks of information defined by the headings and
  • Sections of the manual-at-large (the collection of all of the pages) are chapters which happen to be called sections.

Now you know the difference and, hopefully, the rest of this article will be easier to follow.

man Page Sections

You will be looking at different man pages so let’s study the individual page layout first.

Manual pages are split into several headings and they may vary from vendor to vendor, but they will be similar. The general breakdown is as follows:

  • NAME
  • SYNOPSIS
  • DESCRIPTION
  • EXAMPLES
  • DIAGNOSTICS
  • FILES
  • LIMITS
  • PORTABILITY
  • SEE ALSO
  • HISTORY WARNING (or Bugs)
  • NOTES

NAME – Under this heading is the command name and a brief description of the command.

SYNOPSIS – Shows how the command is used. For instance, here is a synopsis of the cal command:

cal [Month] [Year]

The synopsis begins with the name of the command, with a list of options following. The synopsis takes the general form of a command line; it shows what you can type and the order of the arguments. Arguments in square brackets ([]) are optional; you can leave these arguments out and the command will still work correctly. Items not in brackets must be used.

Take note that brackets are for readability only. They should not be typed when you enter a command.

DESCRIPTION – Describes the command or utility as to what it does and how you can use it. This section usually starts off with an explanation of the synopsis as well as telling what happens if you omit any of the optional arguments. This section may be subdivided for long or complex commands.

EXAMPLES – Some man pages provide examples of how the command or utility can be used. If this section is present, the page tries to give a few simple usage examples, as well as more complex examples to show how complex tasks can be completed.

DIAGNOSTICS – This section lists status or error messages returned by the command or utility. Self-explanatory error and status messages aren’t usually shown. Messages that may be hard to understand are usually listed.

FILES This section contains a list of supplementary files used by UNIX to run this specific command. Here, supplementary files are files not specified on the command line. For example, if you were looking at a man page for the passwd command, you may find /etc/passwd listed in this section since that is where UNIX stores password information.

LIMITS – This section describes any limitations of a utility. Operating system and hardware limitations are usually not listed as they are outside of the utility’s control.

PORTABILITY – Lists other systems where the utility is available, along with how other versions of the utility may differ.

SEE ALSO – lists related man pages that contain relevant information.

HISTORY – Gives a brief history of the command such as when it first appeared.

WARNING – If this section is present, it contains important advice for users.

NOTES – Not as severe as a warning, but important information.

Again, not all man pages use the exact headings listed above, but they’re close enough to follow.

The Manual’s Sections

The entire Linux manual collection of pages are traditionally divided into numbered sections:

  • Section 1 : Shell commands and applications
  • Section 2 : Basic kernel services – system calls and error codes
  • Section 3 : Library information for programmers
  • Section 4 : Network services – if TCP/IP or NFS is installed Device drivers and network protocols
  • Section 5 : Standard file formats – for example: shows what a tar archive looks like.
  • Section 6 : Games
  • Section 7 : Miscellaneous files and documents
  • Section 8 : System administration and maintenance commands
  • Section 9 : Obscure kernel specs and interfaces

The grouping of pages into these groups makes for more efficient searching. I sometimes do a little programming where I work, so I spend a little time look at section 3 man pages. I also do a little work in networking, so I’ve been known to wade through the networking section, and as a system administrator of several experimental machines, I spend a good deal of time in section 8.

Grouping pages into specific (chapters) sections make searching for information easier – both for the human needing it, and for the machine doing the searching.

You can tell which page belongs to which section by the number next to the name. For example, if you’re looking at a man page for ls and the very top of the page says this: LS(1), you are viewing the ls page in section 1, which contains the pages about shell commands and applications.

Here is another example. If you’re looking at a man page for passwd and the top of the page shows: PASSWD(1), you are reading the page from section 1 that describes how the passwd command changes passwords for user accounts. If you see PASSWD(5), you are reading about the the password file and how it is made up.

man page passwd commandman page passwd file

passwd happens to be be two different things: it is the name of a command and a name of a file. Again, section 1 describes the command, while section 5 covers file formats.

The number in the parenthesis is the big clue – that number tells you what section that the page you’re reading, came from.

Searching for a Specific Section

The basic command:

 man name

will search for the man page identified by name in every section, displaying them one at a time, in numerical order. To limit your search to a specific section, use an argument with the man command, like so:

 man 1 name

This command will only search section 1, of the man pages, for name. Using our passwd example earlier, this means that we can keep the search targeted. If I want to read about the passwd command, I can type this in the terminal:

man 1 passwd

The man utility will only search through section 1 for passwd and display it. It will not look through any other section for passwd.

An alternative method for this command is to type: man passwd.1

Using man -k to Search all man Pages Containing a Certain Keyword

The man command, with the k option (often called a flag or switch) can come in handy if you want a listing of man pages containing a certain keyword. For example, if you want to see a list of man pages that deal with, say, ftp, you can get this list by typing:

 man -k ftp

From the listing that will follow, you’ll be able to pick a specific man page to read:

man k example

man k example

On some systems, before man -k will work, the system administrator will need to run a utility called catman.

Using whatis and whereis Commands to Know the Manual’s Sections

There are two nifty utilities that can be helpful in your search for information: whatis and whereis.

whatis

There are times when we can quite get the information we need. Chances are great that the information we need is available – finding it can be a small problem.

For example, if I want to look at the man page about the passwd file, and I type this on the terminal:

man passwd

I would see the page that tells me all about the passwd command, but nothing about the passwd file. I know that passwd is a command and there’s also a passwd file, but sometimes, I might forget that. It’s then that I realize that file structures are in a different section in the man pages, so I type:

man 4 passwd

and I get this reply:

No manual entry for passwd in section 4
See 'man 7 undocumented' for help when manual pages are not available.

Another lapse of forgetfulness. File structures are in section 4 of System V UNIX pages. Years ago, when I built files, I used man 4... a lot; it’s still a habit with me. So where is it in the Linux manual?

It’s time to call whatis to straighten me out. To do this, I type this in my terminal:

whatis passwd

and I see the following:

passwd (1)           - change user password
passwd (1ssl)        - compute password hashes
passwd (5)           - the password file

Ah! the page for the passwd file is in section 5. Now I am set straight and can access the information I want:

man 5 passwd

and I am brought to the man page that has the information I need.

whatis is handy utility that can tell you, in a brief one-liner, what a command does. Imagine that you want to know what cal does without having to view the man page. Just type this at the command prompt:

whatis cal

and you will see this in response:

cal (1)              - displays a calendar and the date of Easter

Now that you know about the whatis command, I can let you in on a secret – there is a man command equivalent. To get this, we use the -f switch: man -f ...

Try it out. Type: whatis cal at a terminal prompt. Once that executes, type: man -f cal. The output of both commands will be identical.

whatis cal man f cal

whatis cal and man f cal outputs are the same

whereis

The very name of the whereis command explains itself – it tells you where a program is within the filesystem. It will also tell you where the man page is stored too. Using cal as an example again, I type this at the prompt:

whereis cal

I will see this:

whereis cal

whereis cal output

Look carefully at the reply. The answer is on one line, but it tells me two things:

/usr/bin/cal is where the cal program is and

/usr/share/man/man1/cal.1.gz is where the man page resides (I’m also clued into the fact that the man page is compressed, but not to worry – the man command knows how to decompress it on the fly)

whereis is PATH dependent; it can only tell you where files are if they are in your PATH environment.

You may be wondering if there is an equivalent man command for whereis. There isn’t one that will tell you where the executable file is, but there is a switch you can use that will tell you where the man page is. Using the date command in this example, if we type:

whereis date

at a terminal prompt, we will see:

whereis date

whereis date output

We see that the date program is in the /usr/bin/ directory and the name and location of its man page is: /usr/share/man/man1/date.1.gz

The closest we can get man to act like whereis is to use the -w switch. We won’t get the location of the program, but we can at least get the location of the man page, like this:

man -w date

and we will see this returned:

man w date 1

You know about whatis and whereis as well as a method to get the man command to do the same (or close) thing. I showed both ways for a couple of different reasons.

For years, I used whatis and whereis since they were in my training manuals. I didn’t learn about man -f ... and man -w ... until fairly recently. I’m sure I looked at the man page for man hundreds of times, but I never noticed the -f and -w switches. I was always looking at the man page for something else (i.e. man -k ...). I concentrated only on what I needed to find and ignored the rest. Once I found the information I needed, I would leave the page and get the work done, not paying attention to some of the other gems the command had to offer.

This is okay since this is partly what the man pages are for: to help you get work done.

It wasn’t until I was recently showing someone how to use man pages, that I took the time to just read – “to see what else was possible” – and we took real notice of the information about what the man command’s -f and -w flags can do.

No matter how long you have been using Linux, or how experienced, there is always something new to learn.

The man pages will tell you what you may need to know to work through a certain task – but they also hold a lot more – enough to make you look like a magician – but only if you take the time to read.

Conclusion

If you spend some time and effort with the man pages, you will come out on top. Your proficiency of the man pages, will play a huge part in your mastery over Linux.

Понравилась статья? Поделить с друзьями:
  • Флексатон ультра инструкция по применению цена отзывы
  • Инструкция по прогреву бетона в зимнее время
  • Инструкция первой доврачебной помощи в детском саду
  • Руководство детских часов
  • Инструкция по технике безопасности в доу для воспитателей