UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

469 lines (324 loc) 25.8 kB
**man-страницы** (от англ. *manual* — руководство) — справочные страницы, которые предоставляются почти всеми *nix-дистрибутивами, включая Arch Linux. Для их отображения служит команда `man`. man-страницы изначально подразумевались как самодостаточные документы. Они ограничены в возможностях ссылаться друг на друга, в отличие от поддерживающих гиперссылки [info-файлов](https://en.wikipedia.org/wiki/Info_(Unix) — попытки GNU создать замену традиционному формату man-страниц. ## Contents * [1 Доступ к man-страницам](#.D0.94.D0.BE.D1.81.D1.82.D1.83.D0.BF_.D0.BA_man-.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D0.B0.D0.BC) * [2 Формат страниц](#.D0.A4.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86) * [3 Поиск по страницам](#.D0.9F.D0.BE.D0.B8.D1.81.D0.BA_.D0.BF.D0.BE_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D0.B0.D0.BC) * [4 Цветные man-страницы](#.D0.A6.D0.B2.D0.B5.D1.82.D0.BD.D1.8B.D0.B5_man-.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D1.8B) * [4.1 С помощью less (рекомендуется)](#.D0.A1_.D0.BF.D0.BE.D0.BC.D0.BE.D1.89.D1.8C.D1.8E_less_.28.D1.80.D0.B5.D0.BA.D0.BE.D0.BC.D0.B5.D0.BD.D0.B4.D1.83.D0.B5.D1.82.D1.81.D1.8F.29) * [4.2 С помощью most (не рекомендуется)](#.D0.A1_.D0.BF.D0.BE.D0.BC.D0.BE.D1.89.D1.8C.D1.8E_most_.28.D0.BD.D0.B5_.D1.80.D0.B5.D0.BA.D0.BE.D0.BC.D0.B5.D0.BD.D0.B4.D1.83.D0.B5.D1.82.D1.81.D1.8F.29) * [4.3 Цветные страницы в xterm или rxvt-unicode](#.D0.A6.D0.B2.D0.B5.D1.82.D0.BD.D1.8B.D0.B5_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D1.8B_.D0.B2_xterm_.D0.B8.D0.BB.D0.B8_rxvt-unicode) * [4.3.1 xterm](#xterm) * [4.3.2 rxvt-unicode](#rxvt-unicode) * [5 Просмотр локальных страниц](#.D0.9F.D1.80.D0.BE.D1.81.D0.BC.D0.BE.D1.82.D1.80_.D0.BB.D0.BE.D0.BA.D0.B0.D0.BB.D1.8C.D0.BD.D1.8B.D1.85_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86) * [5.1 Конвертирование страниц в HTML](#.D0.9A.D0.BE.D0.BD.D0.B2.D0.B5.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86_.D0.B2_HTML) * [5.1.1 mandoc](#mandoc) * [5.1.2 man2html](#man2html) * [5.1.3 man -H](#man_-H) * [5.1.4 roffit](#roffit) * [5.2 Конвертирование в PDF](#.D0.9A.D0.BE.D0.BD.D0.B2.D0.B5.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B2_PDF) * [6 Просмотр онлайн-страниц](#.D0.9F.D1.80.D0.BE.D1.81.D0.BC.D0.BE.D1.82.D1.80_.D0.BE.D0.BD.D0.BB.D0.B0.D0.B9.D0.BD-.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86) * [7 Полезные страницы](#.D0.9F.D0.BE.D0.BB.D0.B5.D0.B7.D0.BD.D1.8B.D0.B5_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D1.8B) * [8 Смотрите также](#.D0.A1.D0.BC.D0.BE.D1.82.D1.80.D0.B8.D1.82.D0.B5_.D1.82.D0.B0.D0.BA.D0.B6.D0.B5) ## Доступ к man-страницам Чтобы отобразить man-страницу, наберите ``` $ man *имя_страницы* ``` Все страницы разделены на несколько категорий: 1. Основные команды 2. Системные вызовы (функции, предоставляемые ядром linux) 3. Библиотечные вызовы (функции стандартной библиотеки языка Си) 4. Специальные файлы (обычно расположенные в `/dev`) и драйверы 5. Форматы файлов и соглашения 6. Игры 7. Прочие страницы (также включая соглашения) 8. Команды для системного администрирования (для которых обычно требуются права суперпользователя) и демоны На man-страницы принято ссылаться по имени, с указанием номера категории в скобках. Часто существуют сразу несколько man-страниц с одинаковыми именами, но в разных категориях, например man(1) и man(7). В таком случае, команде man необходимо передать номер конкретной категории перед именем man-страницы, например: ``` $ man 5 passwd ``` отобразит man-страницу по файлу `/etc/passwd` вместо утилиты `passwd`. Вместо того, чтобы отображать man-страницу целиком, вы можете вывести лишь ее краткое описание, используя команду `whatis`. Например, ``` $ whatis ls ``` выведет краткое описание команды *ls*: "list directory contents" ("отобразить содержимое каталога"). ## Формат страниц Для удобства навигации, все man-страницы соответствуют единому стандартному формату. Вот список некоторых разделов, которые часто используются на страницах: * NAME — имя команды и краткое однострочное описание ее назначения. * SYNOPSIS — список опций и аргументов командной строки, которые принимает команда, либо параметры функции и ее заголовочный файл. * DESCRIPTION — более подробное описание назначения и принципов работы команды или функции. * EXAMPLES — типовые примеры использования, обычно от самых простых к более сложным. * OPTIONS — описания для каждой из опций, которые принимает команда. * EXIT STATUS — коды возврата и их значения. * FILES — связанные с командой или функцией файлы. * BUGS — вероятные проблемы, связанные с работой команды или функции и ожидающие решения. Также известны как KNOWN BUGS. * SEE ALSO — список связанных команд и функций. * AUTHOR, HISTORY, COPYRIGHT, LICENSE, WARRANTY — информация о программе: ее история, условия использования, создатели программы. ## Поиск по страницам Хотя команда `man` позволяет отображать man-страницы, возникает сложность, когда вы не знаете точного названия желаемой страницы. К счастью, вы можете воспользоваться опциями `-k` или `--apropos`, для поиска по ключевому слову в описаниях man-страниц. Поиск работает только по индексированным страницам. Кеш индекса может устареть или вовсе отсутствовать, и на попытки поиска вы не будете получать ожидаемых результатов. Вы можете создать индекс или обновить его, выполнив ``` # mandb ``` Индексация страниц должна запускаться при каждом добавлении man-страниц. Теперь вы можете воспользоваться поиском. Например, чтобы найти man-страницы, связанные с паролями ("password"), введите: ``` $ man -k password ``` или ``` $ man --apropos password ``` С тем же успехом, вы также можете воспользоваться командой `apropos`: ``` $ apropos password ``` По-умолчанию, ключевое слово интерпретируется как [регулярное выражение](https://en.wikipedia.org/wiki/ru:%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F "wikipedia:ru:Регулярные выражения"). Если вы хотите произвести более углубленный поиск по всему содержимому страниц, используйте опцию `-K`: ``` $ man -K password ``` ## Цветные man-страницы Текст man-страниц может отображаться в разных цветах, что упрощает их чтение. Есть два основных метода, позволяющих раскрасить страницы — с помощью утилит *less* и *most*. ### С помощью less (рекомендуется) Преимущество этого способа в том, что less имеет более богатый набор возможностей, чем most, а также используется по умолчанию для отображения man-страниц. Добавьте следующие строки в файл конфигурации вашей командной оболочки (для [Bash](/index.php/Bash "Bash") это файл `~/.bashrc`): ``` man() { env LESS_TERMCAP_mb=$'\E[01;31m' \ LESS_TERMCAP_md=$'\E[01;38;5;74m' \ LESS_TERMCAP_me=$'\E[0m' \ LESS_TERMCAP_se=$'\E[0m' \ LESS_TERMCAP_so=$'\E[38;5;246m' \ LESS_TERMCAP_ue=$'\E[0m' \ LESS_TERMCAP_us=$'\E[04;38;5;146m' \ man "$@" } ``` Выполните команды из файла, чтобы увидеть изменения: ``` # source ~/.bashrc ``` Для [Fish](/index.php/Fish "Fish") настройки будут выглядеть как-то так: `~/.config/fish/config.fish` ``` set -xU LESS_TERMCAP_mb (printf "\e[01;31m") # begin blinking set -xU LESS_TERMCAP_md (printf "\e[01;31m") # begin bold set -xU LESS_TERMCAP_me (printf "\e[0m") # end mode set -xU LESS_TERMCAP_se (printf "\e[0m") # end standout-mode set -xU LESS_TERMCAP_so (printf "\e[01;44;33m") # begin standout-mode - info box set -xU LESS_TERMCAP_ue (printf "\e[0m") # end underline set -xU LESS_TERMCAP_us (printf "\e[01;32m") # begin underline ``` Чтобы сразу увидеть изменения (без перезапуска fish или системы), выполните: ``` # source ~/.config/fish/config.fish ``` Чтобы изменить эти цвета, обратитесь к статье [Wikipedia:ru:Управляющие последовательности ANSI](https://en.wikipedia.org/wiki/ru:%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B8%D0%B5_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_ANSI "wikipedia:ru:Управляющие последовательности ANSI"). ### С помощью most (не рекомендуется) Утилита most выполняет ту же задачу, что less и *more*, но имеет меньший набор возможностей. Настройка цветов для most проще, однако требуется дополнительная настройка для того, чтобы most работал наподобие less. [Установите](/index.php/Pacman_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2 "Pacman (Русский)") пакет [most](https://www.archlinux.org/packages/?name=most), доступный в [официальных репозиториях](/index.php/Official_repositories_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Official repositories (Русский)"). В файле `/etc/man_db.conf` раскомментируйте параметр `pager` и установите ему значение `most -s`: ``` DEFINE pager most -s ``` Откройте любую man-страницу для проверки. Настройка цветов осуществляется в пользовательском файле `~/.mostrc` (нужно создать, если он отсутствует), либо в системном файле `/etc/most.conf`. Пример конфигурации: ``` % Color settings color normal lightgray black color status yellow blue color underline yellow black color overstrike brightblue black ``` Другой пример, показывающий, как настроить сочетания клавиш, подобно `less` (переход к строке назначен на клавишу `J`): ``` % less-like keybindings unsetkey "^K" unsetkey "g" unsetkey "G" unsetkey ":" setkey next_file ":n" setkey find_file ":e" setkey next_file ":p" setkey toggle_options ":o" setkey toggle_case ":c" setkey delete_file ":d" setkey exit ":q" setkey bob "g" setkey eob "G" setkey down "e" setkey down "E" setkey down "j" setkey down "^N" setkey up "y" setkey up "^Y" setkey up "k" setkey up "^P" setkey up "^K" setkey page_down "f" setkey page_down "^F" setkey page_up "b" setkey page_up "^B" setkey other_window "z" setkey other_window "w" setkey search_backward "?" setkey bob "p" setkey goto_mark "'" setkey find_file "E" setkey edit "v" ``` ### Цветные страницы в xterm или rxvt-unicode Быстрый способ раскрасить цвета man-страниц, которые просматриваются через [xterm](https://www.archlinux.org/packages/?name=xterm) / `uxterm` или [rxvt-unicode](https://www.archlinux.org/packages/?name=rxvt-unicode), заключается в редактировании файла `~/.Xresources`. В подразделах представлена конфигурация для xterm и rxvt-unicode. #### xterm ``` *VT100.colorBDMode: true *VT100.colorBD: red *VT100.colorULMode: true *VT100.colorUL: cyan ``` Эти настройки заменяют начертания текста цветами. Добавьте также: ``` *VT100.veryBoldColors: 6 ``` если вы хотите видеть цвета и начертания одновременно. Смотрите также [xterm(1)](https://jlk.fjfi.cvut.cz/arch/manpages/man/xterm.1) для описания ресурса терминала `veryBoldColors`. #### rxvt-unicode Конфигурация: ``` URxvt.colorIT: #87af5f URxvt.colorBD: #d7d7d7 URxvt.colorUL: #87afd7 ``` После внесения изменений в файл, выполните: ``` $ xrdb -load ~/.Xresources ``` Запустите `xterm`/`uxterm` или `rxvt-unicode` и вы должны увидеть цветные man-страницы. Эти настройки добавляют цвета для слов, написанных **полужирным** и <u>подчеркнутым</u> шрифтом в `xterm/uxterm`, и цвета для слов в **полужирном**, <u>подчеркнутом</u>, и *наклонном* начертаниях в `rxvt-unicode`. Вы можете также совмещать эти атрибуты в различные комбинации. ## Просмотр локальных страниц Кроме утилиты man, для чтения man-страниц вы также можете использовать веб-браузер, например [lynx](https://www.archlinux.org/packages/?name=lynx) или [Firefox](/index.php/Firefox_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Firefox (Русский)"). Просмотр страниц в браузере позволяет воспользоваться основным преимуществом info-страниц — гиперссылками. Пользователи [KDE](/index.php/KDE_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "KDE (Русский)") могут читать man-страницы в Konqueror, используя URL вида: ``` man:<name> ``` Кроме того, вы можете [установить](/index.php/Pacman_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2 "Pacman (Русский)") следующие пакеты из [официальных репозиториев](/index.php/Official_repositories_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Official repositories (Русский)"): 1\. [xorg-xman](https://www.archlinux.org/packages/?name=xorg-xman) для просмотра страниц в [X](/index.php/Xorg_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Xorg (Русский)"). 2\. [yelp](https://www.archlinux.org/packages/?name=yelp) — Help Browser из состава [GNOME](/index.php/GNOME_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "GNOME (Русский)"). ### Конвертирование страниц в HTML #### mandoc Установите пакет [mandoc](https://aur.archlinux.org/packages/mandoc/). Чтобы конвертировать страницу, для примера, `free(1)`, наберите: ``` $ gunzip -c /usr/share/man/man1/free.1.gz | mandoc -Thtml -Ostyle=style.css 1> free.html ``` Получившийся файл `free.html` теперь можно открыть в любом веб-браузере. #### man2html Установите [man2html](https://www.archlinux.org/packages/?name=man2html) из [официальных репозиториев](/index.php/Official_repositories_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Official repositories (Русский)"). Сконвертируйте страницу командой: ``` $ 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 ``` Команда запустит браузер, установленный в [переменной окружения](/index.php/Environment_variables_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Environment variables (Русский)") `BROWSER`. Вы можете указать браузер явно, передав путь до исполняемого файла сразу после опции `-H`. #### roffit Установите пакет [roffit](https://aur.archlinux.org/packages/roffit/). Для конвертирования страницы выполните: ``` $ gunzip -c /usr/share/man/man1/free.1.gz | roffit > free.html ``` ### Конвертирование в PDF Man-страницы всегда были удобны для печати: они написаны в формате troff, который является типографским языком. Если у вас установлен *ghostscript*, конвертирование man-страниц в PDF выполнить очень просто: ``` man -t *имя_страницы* | ps2pdf - *pdf_файл* ``` По [этой ссылке](https://www.google.com/search?q=manpage+pdf+troff&num=100&hl=en&prmd=imvns&source=lnms&tbm=isch&sa=X&ei=5BZpUI3oH6rI2AXvx4CoAw&ved=0CAoQ_AUoAQ&biw=1321&bih=1100) вы можете посмотреть, как будет выглядеть получившийся PDF-документ. Обратите внимание, что шрифты главным образом ограничены набором Times и имеют жестко заданные размеры. Документ не будет содержать гиперссылок. Некоторые man-страницы форматировались так, чтобы выглядеть хорошо в терминале, однако могут отображаться некорректно в форме PostScript или PDF-документов. Следующий perl-скрипт конвертирует man-страницы в PDF, кэшируя файлы в каталоге `$HOME/.manpdf/`, и открывает программу для просмотра документа [mupdf](https://www.archlinux.org/packages/?name=mupdf). `Usage: manpdf [<section>] <manpage>` ``` #!/usr/bin/perl use File::stat; $pdfdir = $ENV{"HOME"}."/.manpdf"; -d $pdfdir || mkdir $pdfdir || die "can't create $pdfdir"; $manpage = $ARGV[0]; chop($manpath = `man -w $manpage`); die if $?; $maninfo = stat($manpath) or die; $manpath =~ s@.*/man./(.*)(\.(gz|bz2))?$@$1@; $pdfpath = "$pdfdir/$manpath.pdf"; $pdftime = 0; if (-f $pdfpath) { $pdfinfo = stat($pdfpath) or die; $pdftime = $pdfinfo->mtime; } if (!-f $pdfpath || $maninfo->mtime > $pdftime) { system "man -t $manpage | ps2pdf -dPDFSETTINGS=/screen - $pdfpath"; } die if !-f $pdfpath; if (!fork) { open(STDOUT, "/dev/null"); open(STDERR, "/dev/null"); exec "mupdf", "-r", "96", $pdfpath; #exec "acroread", $pdfpath; } ``` ## Просмотр онлайн-страниц Существуют множество онлайн-хранилищ man-страниц; вот небольшой список: * [Man7.org.](http://man7.org/linux/man-pages/index.html) Первоисточник страниц для [man-pages](https://www.archlinux.org/packages/?name=man-pages). * [man-страницы Debian GNU/Linux](http://manpages.debian.net/) * [man-страницы DragonFlyBSD](http://leaf.dragonflybsd.org/cgi/web-man) * [man-страницы FreeBSD Hypertext](http://www.freebsd.org/cgi/man.cgi) * [man-страницы Linux and Solaris 10](http://www.manpages.spotlynx.com/) * [man-страницы Linux/FreeBSD](http://manpagehelp.net) с комментариями пользователей * [man-страницы на die.net](http://linux.die.net/man/) * [man-страницы на kernel.org](http://www.kernel.org/doc/man-pages/) * [man-страницы NetBSD](http://netbsd.gw.com/cgi-bin/man-cgi) * [man-страницы Mac OS X](http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html) * [man-страницы UNIX](http://unixhelp.ed.ac.uk/alphabetical/index.html) * [man-страницы OpenBSD](http://www.openbsd.org/cgi-bin/man.cgi) * [Руководство Plan 9 — Том 1](http://man.cat-v.org/plan_9/) * [Руководство Inferno — Том 1](http://man.cat-v.org/inferno/) * [man-страницы Storage Foundation](http://sfdoccentral.symantec.com/sf/5.0MP3/linux/manpages/index.html) * [man-страницы форума The UNIX and Linux Forums](http://www.unix.com/man-page/OpenSolaris/1/man/) * [репозиторий man-страниц Ubuntu](http://manpages.ubuntu.com/) **Важно:** Некоторые дистрибутивы 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)(5)(7) * printf(3) * proc(5) * regex(7) * signal(7) * term(5)(7) * termcap(5) * terminfo(5) * utf-8(7) Вам могут быть интересны также и другие страницы седьмой категории: ``` $ man -s 7 -k ".*" ``` А также страницы, относящиеся непосредственно к Arch Linux: * archlinux(7) * mkinitcpio(8) * pacman(8) * pacman-key(8) * pacman.conf(5) ## Смотрите также * [Основные рекомендации](/index.php/General_recommendations_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "General recommendations (Русский)") — Основные рекомендации по Arch Linux. * [Man page](http://wiki.gentoo.org/wiki/Man_page) — статья на Gentoo wiki.