Руководство man на русском

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

������������� ������� ��������� ��������� ���������� (man-��)

man (1)


  • man (1) ( Solaris man: ������� � ���������� ��������� ����������������� ������ )
  • man (1) ( FreeBSD man: ������� � ���������� ��������� ����������������� ������ )
  • >> man (1) ( ������� man: ������� � ���������� ��������� ����������������� ������ )
  • man (1) ( Linux man: ������� � ���������� ��������� ����������������� ������ )
  • man (1) ( POSIX man: ������� � ���������� ��������� ����������������� ������ )
  • man (5) ( Solaris man: ������� ������ )
  • man (7) ( FreeBSD man: ����������� � ���������� )
  • man (7) ( ������� man: ����������� � ���������� )
  • man (7) ( Linux man: ����������� � ���������� )
  • ���� man ��������� � ���� �������� ����.
  •  

    ��������

    man — ����������� � ���������� �������� ������������ ����������� man

    manpath — ���������� ���� ������ ������� �����������
     

    ���������

    man

    [-acdfFhkKtwW]

    [—path]

    [-m

    ������� ]

    [-p

    ������ ]

    [-C

    ����_������������ ]

    [-M

    ������_����� ]

    [-P

    ������� ]

    [-S

    ������_�������� ]

    [������]

    ��� …

    ��������

    man

    ����������� � ���������� �������� ������������ �����������. ���� �� �������
    ������,

    ��
    man

    ����� ������ ������ � ���� ������� �����������.
    ���

    ��� ��� �������� �����������, ������� ������ �������� ������ �������, �������, ��� �����.
    ������, ����
    ���

    �������� ��������� �����
    (/),

    ��
    man

    �������������� ��� ��� ��������� � ����������� �����, ��� ��� �� ������ ���������
    man ./foo.5

    ���
    man /cd/foo/bar.1.gz.

    �������� ����, ���
    man

    ���� �������� �����������, �������� ����.

     
     

    �����

    -C ����_������������

    ������� ���� ������������ ��� �������������; �� ��������� ���
    /etc/man.conf.

    (��.
    man.conf(5).)

    -M ����

    ���������� ������ ��������� ��� ������ ������� �����������. �������� ����������� �����������. ������ ������ ��������� ����������� ��������������
    -M

    �����. ��������
    ���� ������ ������� �����������.

    -P �������

    ��������� ������������ �������.
    ��� ����� ������������� ���������� ���������
    MANPAGER,

    ������� � ���� ������� ������������� ����������
    PAGER.

    �� ���������,
    man

    ����������
    /usr/bin/less -isR.

    -S ������_��������

    ������ �������� ����������� �����̣���� �����������, � ������� �������������� �����.
    ��� ����� �������������� ���������� ���������
    MANSECT.

    -a

    �� ��������� ����� ������ ������ ��������� �������� �����������,
    man

    �������� ������. ���������� ��� ����� �������
    man

    �������� �� ������ ������, � ��� �������� ����������� ���������� ��� ��������
    ���.

    -c

    ����������������� �������� �������� �����������, ���� ���� ���������� ���������� ����������������� ��������.
    ��� ����� ������������, ���� ������ �������� ���� ��������������� ��� ������ � ������ ����������� �������, ��� ����������.
    -d

    � ���������������� �� ���������� �������� �����������, �� �������� ���������� ���������� ��� ��� ������������� ������ �������.
    -D

    ���������� � �������� � ���������� ����������.
    -f

    ����������� �������
    whatis.

    -F ��� —preformat

    �������������� ��� �����������.
    -h

    ������� ������� �� ������ ��������� ������ � ��������� ������.
    -k

    �� �� ��� � �������
    apropos.

    -K

    ����� �������� ������ �� *����* ��������� �����������. ��������������: �������� ���� ������� ����� ����� ������! ����� ����� ������ �������� �������. (������ ��� ��������������� ������, �� ���� ������ ��� �������� �������� 500 ������� � ������.)
    -m system

    ������ ��� ������ �������������� ����� ������� �����������, ����������� �� ������� � ��������� ������.
    -p string

    ��������� ���������� ���� �������������� �����
    nroff

    ���
    troff.

    �� �ӣ ����������� ����� ������ ����� ��������������. ��������� �������������� � ����� ��� �� �����������:
    eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
    ��� ����� �������������� ���������� ���������
    MANROFFSEQ.

    -t

    ����������
    /usr/bin/groff -Tps -mandoc

    ��� �������������� �������� �����������, ��� ������ ��
    stdout.

    �������� ����� ������� �� �������� �����
    /usr/bin/groff -Tps -mandoc

    ����������� ���������� ����� ��������� �������.

    -w ��� —path

    �� ���������� �������� �����������, �� �������� ���������������(�) ��� ������, ��� ���� �� ��������������� � ��������. ���� �������� �� �����: ������� (�� stdout) ������ ��������� � �������
    man

    ������������ ����� ������� �����������. ����
    manpath

    ��� ������ �� man, �� «manpath» ���������� «man —path».

    -W

    ������� -w, �� �������� �� ������ ����� ����� �� ������ ��� �������������� ����������. ��� ������� � �������� shell, ��������,

    man -aW man | xargs ls -l

     

    �������� CAT

    � ����� �������� ������� �������������� �� ��������������, man ����� �������� ��������� ��������������� �������� ����������� ��� ����������� �������.
    �����������, ��������������� ������ ������� �� ����������/manX ����������� � ����������/catX, ������ ����� ��������� �
    /etc/man.conf

    ������ ������������ ����� ���������� man � cat.
    ���������� ������� cat �� ����� �����������, ���� ��������� ������� cat �� ����������.
    �� ����� ����������� �������� cat � ��� �� �������������� ��� ������ ������� �� ������ 80 ��������.
    �� ����������� �������� cat � ��� ������� � man.conf ������ ���������� NOCACHE.

    ���� �����������, � ������� suid �������
    man

    ����������� �� ����� ������������ man. �����, ���� ��������� cat ������� ������������
    man � ����� ������� � ���� ����������� � 0755 (������ ��������� ������ ������������ man), � ����� cat ����� ����������� ������������ man, � �������������� ������� ������� � ��� � ������ 0644 ��� 0444 (�� ��������� �������� ������ ������������ man, ��� ������ ������), �� ������� ������������ �� ������ �������� �������� cat ��� ��������� ������ ����� � ������� cat. ����
    man

    �� ��������� suid, � ����� ������ ��� �������������� ����������� ���� ������������� ���������� ����������������� ������� ������� cat ������ ����� ����� ������� 0777.

    �����
    -c

    ��������� ����������������� ��������, ���� ���� ���������� ����� ���������������� �������� cat.

    ���� ������ ������� �����������

    ��� ������ ������� �����������,
    man

    ���������� ��������� �����, ���������� �� ������ ������ � ���������� ���������, ����� ��������
    /etc/man.conf,

    � ����� ��������� ���������� ����������� � ���������.

    ������ �����, ����
    ���

    ��������� �������������
    man

    �������� ��������� �����
    (/),

    man

    ��������� ��� ��� �������� �� ����,
    � �� ������������ �����.

    ������ � ������� ������, ���
    ���

    �� �������� ��������� �����,
    man

    ���� � ���� ��������� ����, ���������� �������� ����������� ��� ��������� ����.

    ���� �� �������� �����
    -M ������_�����,

    ��
    ������_�����

    ��� �����̣���� ����������� ������ ��������� � �������
    man

    ���������� �����.

    ���� �� �� �������
    -M,

    �� ���������� ���������� ���������
    MANPATH,

    man

    ���������� �������� ���������� ��� ������ ��������� ��� ������.

    ���� �� �� ���������� ������ ������ ����� ������ � �������
    -M

    ���
    MANPATH,

    man

    ���������� ����� �� ������ ������ �����, ����������� �� ���������� ����� ������������
    /etc/man.conf.

    ��������, ���������� � ����������
    MANPATH

    � ���������������� �����, ���������� � ���� ������.

    ����� ����, �����������
    MANPATH_MAP

    ��������� �������� ��� ������ � ����������� �� ����� ��������� ����� ������ ������
    (�.�. ����� ���������� ���������
    PATH).

    ��� ������� �������� ������� ����� ���� ������̣� � ��������� ���� ������ ������,
    MANPATH_MAP

    ������������� ������� ������� ����� ���� �������� � ���� ������ ������ ������� �����������.
    man

    ������ �������� ����������
    PATH

    � ��������� ��������������� �������� � ���� ������ ������ ������� �����������. ����� �������, ��� ������� �������������
    MANPATH_MAP,

    ����� �� ��������� �������
    man xyz,

    �� ��������� �������� ����������� ��� ���������, ����������� ������� �������
    xyz.

    ����� ����, ��� ������� �������� � ���� ������ ������� (����� �������� ��� «������� ������»), ��� ��������
    ��

    ����������
    MANPATH_MAP,

    man

    ������������� ���� ���������� ������� �� ���������� �����������, � ������ � ����������� �������� ������ ��� ������������ �������� ��� �������� ������.

    ����������� ����������
    NOAUTOPATH

    ���������� �
    /etc/man.conf,

    �� ������ ��������� �������������� ����� «����������».

    � ������ �������� ����������� � ������ ���� ������ ��� ������� ����,
    man

    ���� ���� � ������
    ����.������,

    ������� ������ ������� � ��������� ������� ������ �������������.
    ���� ����� ���� �� ������, �� ����� ������������ � ����� ������������ � ������
    manN

    ���
    catN,

    ���
    N

    ��� ����� ������� �����������.
    ���� ���� ������ � ��������
    catN,

    man

    ������������, ��� ��� ��������������� �������� ����������� (�������� cat). �����,
    man

    ������� ţ �� ���������������. ��� � ���, ��� � � ������ ������, ���� ��� ����� ����� ������� ������ (��������,
    .gz),

    man

    �������, ��� ���� ����.

    ���� �� ������ ����� ��� (��� ����)
    man

    ��ۣ� �������� ����������� ��� �������� ����, ����������� �����
    —path (-w).

    ���������

    MANPATH

    ���� ����������
    MANPATH

    �����������, ��
    man

    ���������� ţ ��� ������ ������� �����������. ��� �������������� ���� �������� � �������������� ���� ������, �� ���� ���������������� �������� �����
    -M.

    ��������
    ���� ������ ������� �����������.

    MANPL

    ����
    MANPL

    �����������, �� ţ �������� ������������ ��� ����� �������� ��� ������.
    �����, ��� �������� ����������� ����� ������������ ����� (�������) ���������.
    MANROFFSEQ

    ���� �����������
    MANROFFSEQ,

    �� ţ �������� ������������ ��� ����������� �������������� ��� ���������� ����� ��������
    nroff

    ���
    troff.

    �� ���������, �����
    nroff,

    �������� ������������ ����� ������������ tbl.

    MANSECT

    ���� ����������� ����������
    MANSECT,

    �� ţ �������� ���������� ������, � ������� ����� �������������� �����.

    MANWIDTH

    ����
    MANWIDTH

    �����������, �� ţ �������� ������������ ��� ������ ������� ��� ������.
    � ��������� ������, ����� ������� ����� ����� �� ������ ������.

    MANPAGER

    ���� ����������
    MANPAGER

    �����������, �� ţ �������� ������������ ��� ��� ���������, ����������� ��� ����������� �������� �����������. ���� �� �����������, ����� ����� ������������ ����������
    PAGER.

    ���� ��� ����� �� �����������, �� ����� ��������� �������
    /usr/bin/less -isR.

    LANG

    ���� ����������� ����������
    LANG,

    �� ţ �������� ���������� ��� �����������, ��� �������� ����������� ������ � ������ �������. ���, ������� ‘LANG=ru man 1 foo’ ������� man ������ �������� ����������� foo � …/ru/man1/foo.1,
    � ���� ���� ���� �� ����� ������, �� � …/man1/foo.1,
    ��� … ��� ������� �� ���� ������.

    NLSPATH, LC_MESSAGES, LANG

    ���������� ���������
    NLSPATH


    LC_MESSAGES

    (���
    LANG,

    ���� ��������� �� �����������)
    ������ ���� ���� � ����������� �������� ���������.
    (�������� ��������� �� ����������, ������� � ������������� � man, ������� ������� ��������� ��� ����������� ����� �� ���������.)
    ������, ��� ����� ��������� ���
    col(1)

    ���������� man ����� ���������� LC_CTYPE.

    PATH

    PATH

    �������� ���������� ���� ������ ������ �� ���������� �����������. ��������
    ���� ������ ������� �����������.

    SYSTEM

    SYSTEM

    ������������ ��� ������� ��������������� ����� ������� (��� ������������� � ������
    -m).

     

    ������ �����

    apropos(1),

    whatis(1),

    less(1),

    groff(1),

    man.conf(5).

     

    ������

    �����
    -t

    �������� ������ ���� ����������� ���������, �������� troff.

    ���� �� ������ �������� 255 ��� <AD> ����� ��������,
    �������� � ��ϣ ��������� ‘LESSCHARSET=latin1’.
     

    ������

    ���� �� �������� ��������� ������


      (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))

    � ��� ����
    .emacs,

    �� ������� ������� F1 ����� ��������� �������� ����������� �� ������������ �������, �� �������� ������� ��������� ������.

    ����� �������� ������� ��������� ������ �������� �����������, ��� �������� �������� � ���ޣ��������, ���������� ������� ����


      # man foo | col -b > foo.mantxt

    �������

    ������� �������� (Vasily Kolomeets) <boojuman@gmail.com>


     

    Index

    ��������
    ���������
    ��������
    �����
    �������� CAT
    ���� ������ ������� �����������
    ���������
    ������ �����
    ������
    ������
    �������

    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. Но разобраться во всех этих командах не так уж просто, особенно новичку. А это было бы очень полезно, потому что с помощью команд можно сделать намного больше, и что важно, намного удобнее, по по сравнению с графическим интерфейсом.

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

    Команда man позволяет получить доступ к общей базе справки по команде, функции или программе. Обычно для просмотра справки программе надо передать название команды или другого объекта в системе. Синтаксис у неё такой:

    $ man раздел название_страницы

    Обычно название страницы совпадает с именем команды или названием программы. Вся справка разделена на несколько разделов. По умолчанию страницы справки выводятся из всех разделов, но вы можете выводить страницы справки из определённого раздела. Для этого достаточно передать номер раздела команде. Вот список основных разделов:

    • 1 — команды оболочки или программы;
    • 2 — системные вызовы;
    • 3 — функции библиотек;
    • 4 — файлы из каталога /dev;
    • 5 — форматы файлов;
    • 6 — игры;
    • 7 — разное;
    • 8 — команды администрирования системы;
    • 9 — процедуры ядра.

    Давайте рассмотрим несколько примеров. Для того чтобы посмотреть справку по команде man достаточно выполнить такую команду:

    man man

    Для команды ls справка вызывается так:

    man ls

    Каждая страница справки разделена на несколько секций. Вы можете видеть их на снимках экрана выше. Это:

    • NAME — имя программы или команды, а также краткое её описание;
    • SYNOPSIS — синтаксис команды и порядок передачи в неё опций;
    • DESCRIPTION — более подробное описание команды;
    • CONFIGURATION — настройки программы;
    • OPTIONS — опции команды;
    • EXAMPLE — примеры использования;
    • AUTHORS — авторы программы.

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

    Для просмотра информации и управлением страницей справки используются такие горячие клавиши:

    • стрелка вверх/вниз — прокрутка информации вверх или вниз;
    • e или j — переместиться на одну строку вверх;
    • y или h — переместиться на одну строку вниз;
    • z — переместиться на одно окно вниз;
    • w — переместиться на одно окно вверх;
    • d — переместиться на пол окна вниз;
    • u — переместиться на пол окна вверх;
    • / — поиск вхождений указанных после символов вперед;
    • ? — то же самое, что и предыдущее, только поиск назад;
    • n — в режиме поиска отображение следующего вхождения;
    • N — в режиме поиска отображение предыдущего вхождения.

    С перемещением по странице, скорее всего, всё понятно. Для того чтобы искать какое-либо слово на странице нажмите клавишу / и начните набирать слово, которое надо искать. Оно будет отображаться внизу окна:

    Затем нажмите Enter и программа подсветит все вхождения этого слова в текст. Для поиска следующего вхождения нажимайте n:

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

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

    man -f ls

    С помощью опции -k можно выполнять поиск по кратким описаниям справочных страниц. Например, давайте найдём все страницы, в описаниях которых есть слово printf:

    man -k printf

    Опция -K позволяет выполнять поиск по самим справочным страницам. Поиск выполняется методом перебора, поэтому занимает некоторое время:

    man -K core

    Команда будет открывать найденные страницы по очереди. Для выхода нажмите Ctrl+C. Опция -L позволяет вручную задать язык, на котором будет отображена страница. Например для вывода информации про man на английском выполните:

    man -L en_US man

    А чтобы отобразить man на русском Linux надо передать этой опции значение ru_RU:

    man -L ru_RU man

    Однако для того чтобы это работало нужно чтобы в системе были установлены пакеты локализации для русского языка.

    Выводы

    Если вам нужны другие опции, вы можете найти их в справочной странице для команды man. Перечисленного в этой статье по моему мнению будет вполне достаточно для полноценного просмотра справки по нужным вам программам. Если вы хотите разобраться с Linux вам обязательно придется научиться пользоваться двумя вещами. Первая из них — это Google, а вторая — справка man. Удачи в изучении Linux!

    Creative Commons License

    Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

    Об авторе

    Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

    Понравилась статья? Поделить с друзьями:
  • Как сделать семантическое ядро сайта пошаговое руководство
  • Ацц инструкция по применению взрослым при кашле таблетки 200мг
  • Открытие ооо в 2022 году пошаговая инструкция с одним учредителем
  • Гимс иркутской области руководство
  • Рэа 93 руководство по эксплуатации аэродромной авиации вооруженных сил