Difference between revisions of "Man page (Русский)"

From ArchWiki
Jump to navigation Jump to search
(Второй способ: использование 'less')
(update Pkg/AUR templates)
(Tag: wiki-scripts)
 
(39 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Category:Утилиты (Русский)]]
+
{{Lowercase title}}
{{i18n|Man Page}}
+
[[Category:System administration (Русский)]]
{{translateme}}
+
[[Category:Русский]]
 +
[[ar:Man page]]
 +
[[en:Man page]]
 +
[[es:Man page]]
 +
[[id:Man page]]
 +
[[ja:Man ページ]]
 +
[[ko:Man page]]
 +
[[pt:Man page]]
 +
[[zh-hans:Man page]]
 +
{{Unmaintained (Русский)}}
  
{{Article summary start|Summary}}
+
'''man-страницы''' (от англ. ''manual'' — руководство) — справочные страницы, которые предоставляются почти всеми *nix-дистрибутивами, включая Arch Linux. Для их отображения служит команда {{Ic|man}}.
{{Article summary text|Статья содержит информацию о man страницах, и рекомендации для лучшего их использования}}
 
<!--
 
{{Article summary heading|Related}}
 
{{Article summary wiki|}}
 
-->
 
{{Article summary end}}
 
  
'''Man страницы''' (от англ. manual — руководство) - это обширная документация, предустановленная почти во всех значительных UNIX подобных операционных системах, включая Arch Linux. Для их отображения служит команда {{Codeline|man}}.
+
man-страницы изначально подразумевались как самодостаточные документы. Они ограничены в возможностях ссылаться друг на друга, в отличие от поддерживающих гиперссылки [[Wikipedia:Info_(Unix)|info-файлов]] — попытки GNU создать замену традиционному формату man-страниц.
  
Не смотря на свой масштаб, man страницы разработаны как самодостаточные документы и вследствие чего ограничены в возможности ссылаться на другие man страницы во время обсуждения связанных тем. В противоположность гипертекстовым info файлам - попытке GNU заменить формат традиционных man страниц.
+
== Доступ к man-страницам ==
 
+
Чтобы отобразить man-страницу, наберите
==Доступ к man страницам==
 
Чтобы прочитать man страницу, просто введите:
 
  
 
  $ man ''имя_страницы''
 
  $ man ''имя_страницы''
  
Руководства отсортированы по нескольким секциям:
+
Все страницы разделены на несколько категорий:
 
# Основные команды
 
# Основные команды
# Системные вызовы (функции предоставляемые ядром)
+
# Системные вызовы (функции, предоставляемые ядром linux)
# Библиотечные вызовы (функции библиотеки языка C)
+
# Библиотечные вызовы (функции стандартной библиотеки языка Си)
# Специальные файлы (обычно расположены в каталоге /dev) и драйверы
+
# Специальные файлы (обычно расположенные в {{Ic|/dev}}) и драйверы
# Формат файлов и соглашения
+
# Форматы файлов и соглашения
 
# Игры
 
# Игры
# Разное (включая соглашения)
+
# Прочие страницы (также включая соглашения)
# Команды для системного администрирования (обычно требуют привилегий root'а) и демоны
+
# Команды для системного администрирования (для которых обычно требуются права суперпользователя) и демоны
  
На man страницы обычно ссылаются по их имени с последующим номером секции в круглых скобках. Часто существуют несколько man страниц с одинаковым именем, такие как man(1) и man(7). В этом случае необходимо передать команде man номер секции с последующим именем страницы, например:
+
На man-страницы принято ссылаться по имени, с указанием номера категории в скобках. Часто существуют сразу несколько man-страниц с одинаковыми именами, но в разных категориях, например man(1) и man(7). В таком случае, команде man необходимо передать номер конкретной категории перед именем man-страницы, например:
  
 
  $ man 5 passwd
 
  $ man 5 passwd
  
чтобы прочитать man по {{Codeline|/etc/passwd}}, вместо утилиты {{Codeline|passwd}}.
+
отобразит man-страницу по файлу {{Ic|/etc/passwd}} вместо утилиты {{Ic|passwd}}.
  
Очень краткие описание программ можно прочитать из man страниц не выводя из целиком с помощью команды {{Codeline|whatis}}. Например, для краткого описания ls, напечатайте:
+
Вместо того, чтобы отображать man-страницу целиком, вы можете вывести лишь ее краткое описание, используя команду {{Ic|whatis}}. Например,
  
 
  $ whatis ls
 
  $ whatis ls
  
и {{Codeline|whatis}} выведет "list directory contents."
+
выведет краткое описание команды ''ls'': "list directory contents" ("отобразить содержимое каталога").
 +
 
 +
== Формат страниц ==
 +
 
 +
Для удобства навигации, все man-страницы соответствуют единому стандартному формату. Вот список некоторых разделов, которые часто используются на страницах:
 +
 
 +
* NAME — имя команды и краткое однострочное описание ее назначения.
 +
* SYNOPSIS — список опций и аргументов командной строки, которые принимает команда, либо параметры функции и ее заголовочный файл.
 +
* DESCRIPTION — более подробное описание назначения и принципов работы команды или функции.
 +
* EXAMPLES — типовые примеры использования, обычно от самых простых к более сложным.
 +
* OPTIONS — описания для каждой из опций, которые принимает команда.
 +
* EXIT STATUS — коды возврата и их значения.
 +
* FILES — связанные с командой или функцией файлы.
 +
* BUGS — вероятные проблемы, связанные с работой команды или функции и ожидающие решения. Также известны как KNOWN BUGS.
 +
* SEE ALSO — список связанных команд и функций.
 +
* AUTHOR, HISTORY, COPYRIGHT, LICENSE, WARRANTY — информация о программе: ее история, условия использования, создатели программы.
 +
 
 +
 
 +
== Поиск по страницам ==
  
==Формат==
+
Хотя команда {{Ic|man}} позволяет отображать man-страницы, возникает сложность, когда вы не знаете точного названия желаемой страницы. К счастью, вы можете воспользоваться опциями {{Ic|-k}} или {{Ic|--apropos}}, для поиска по ключевому слову в описаниях man-страниц.
Все man страницы строго следуют стандарному формату, который помогает в навигации по ним. Некоторые часто представленные секции:
 
  
* NAME (ИМЯ) - Имя команды и короткое выражение, описывающее ее назначения
+
Поиск работает только по индексированным страницам. Кеш индекса может устареть или вовсе отсутствовать, и на попытки поиска вы не будете получать ожидаемых результатов. Вы можете создать индекс или обновить его, выполнив
* SYNOPSIS (СИНТАКСИС) - Список опций и агрументов, которые принимает команда или параметры функции и ее заголовочный файл
 
* DESCRIPTION (ОПИСАНИЕ) - Подробное описание назначения команды или функции и принципов работы.
 
* EXAMPLES (ПРИМЕРЫ) - Типичные примеры, обычно начиная с простых до относительно сложных.
 
* OPTIONS (ОПЦИИ) - Описание каждой из опций, которые принимает комнада, и что они делают.
 
* EXIT STATUS (СТАТУС ВЫХОДА) - Значения различных кодов выхода.
 
* FILES (ФАЙЛЫ) - Файлы связанные с командой или функцией.
 
* BUGS (ОШИБКИ) - Проблемы с командой или функцией ожидающие решения. Также известны как KNOWN BUGS (ИЗВЕСТНЫЕ ОШИБКИ)
 
* SEE ALSO (СМОТРИ ТАКЖЕ) - Список связанных команд и функций
 
* AUTHOR (АВТОР), HISTORY (ИСТОРИЯ), COPYRIGHT (ПРАВА), LICENSE (ЛИЦЕНЗИЯ), WARRANTY (ГАРАНТИИ) - Информация о программе, ее прошлом, условиях использования и ее создателях.
 
  
==Поиск документации==
+
# mandb
Хотя утилита {{Codeline|man}} позовляет пользователям проматривать страницы руководств, возникает проблема, когда вы не знаете точного имени желаемой man страницы!
+
 
К счастью, вы можете воспользоваться опцией {{Codeline|-k}} или {{Codeline|--apropos}} для поиска в кратком описании страницы руководства заданного ключевого слова. Например, чтобы найти страницу относящуюся к "password":
+
Индексация страниц должна запускаться при каждом добавлении man-страниц.
 +
 
 +
Теперь вы можете воспользоваться поиском. Например, чтобы найти man-страницы, связанные с паролями ("password"), введите:
  
 
  $ man -k password
 
  $ man -k password
  
или:
+
или
  
 
  $ man --apropos password
 
  $ man --apropos password
  
Это эквивалентно вызову команды {{Codeline|apropos}}:
+
С тем же успехом, вы также можете воспользоваться командой {{Ic|apropos}}:
  
 
  $ apropos password
 
  $ apropos password
  
Заданное ключевое слово, по-умолчанию, интерпретируется как регулярное выражение.
+
По-умолчанию, ключевое слово интерпретируется как [[Wikipedia:ru:Регулярные выражения|регулярное выражение]].
 +
 
 +
Если вы хотите произвести более углубленный поиск по всему содержимому страниц, используйте опцию {{ic|-K}}:
 +
 
 +
$ man -K password
 +
 
 +
== Цветные man-страницы ==
 +
Текст man-страниц может отображаться в разных цветах, что упрощает их чтение. Есть два основных метода, позволяющих раскрасить страницы — с помощью утилит ''less'' и ''most''.
 +
 
 +
=== С помощью less (рекомендуется) ===
 +
 
 +
Преимущество этого способа в том, что less имеет более богатый набор возможностей, чем most, а также используется по умолчанию для отображения man-страниц.
 +
 
 +
Добавьте следующие строки в файл конфигурации вашей командной оболочки (для [[Bash]] это файл {{ic|~/.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]] настройки будут выглядеть как-то так:
 +
 
 +
{{hc|~/.config/fish/config.fish|
 +
<nowiki>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
 +
</nowiki>}}
 +
 
 +
Чтобы сразу увидеть изменения (без перезапуска fish или системы), выполните:
  
==Цветные man страницы==
+
# source ~/.config/fish/config.fish
Для некоторых пользователей цветные man страницы позволяют получить более четкое представление и легче переварить содержимое.  
 
Учитывая, что новые пользователи Linux вынуждены тратить значительно количество времени для ознакомления с основными пользовательскими инструментами,
 
создание комфортных условий для большинства является необходимым.
 
  
Есть два основных способа получения цвеных man страниц: использование {{Codeline|most}}, или с помощью опций для {{Codeline|less}}. Первый проще в настройках в ущерб дополнительных функций присущих {{Codeline|less}}.
+
Чтобы изменить эти цвета, обратитесь к статье [[Wikipedia:ru:Управляющие последовательности ANSI]].
  
===Первый способ: используя 'most'===
+
=== С помощью most (не рекомендуется) ===
Установите {{package Official|most}} с помощью [[pacman]]:
 
# pacman -S most
 
Это программа подобна {{Codeline|less}} и {{Codeline|more}}, а также с легкостью позволяет отображать цветной текст.
 
  
Отредактируйте {{Filename|/etc/man_db.conf}}, раскомментируйте определение просмоторщика из замените его следующим образом:
+
Утилита most выполняет ту же задачу, что less и ''more'', но имеет меньший набор возможностей. Настройка цветов для most проще, однако требуется дополнительная настройка для того, чтобы most работал наподобие less.
 +
 
 +
[[pacman (Русский)#Установка определенных пакетов|Установите]] пакет {{Pkg|most}}, доступный в [[Official repositories (Русский)|официальных репозиториях]].
 +
 
 +
В файле {{ic|/etc/man_db.conf}} раскомментируйте параметр {{ic|pager}} и установите ему значение {{ic|most -s}}:
  
 
  DEFINE    pager    most -s
 
  DEFINE    pager    most -s
  
Протестируйте новые настройки напечатав:
+
Откройте любую man-страницу для проверки.
  
$ man whatever_man_page
+
Настройка цветов осуществляется в пользовательском файле {{ic|~/.mostrc}} (нужно создать, если он отсутствует), либо в системном файле {{ic|/etc/most.conf}}. Пример конфигурации:
 
 
Изменение цвета требует редактирования {{Filename|~/.mostrc}} (создайте, если его не существует) или редактирования {{Filename|/etc/most.conf}} для
 
глобальных настроек. Например, {{Filename|~/.mostrc}}:
 
  
 
  % Color settings
 
  % Color settings
Line 101: Line 149:
 
  color overstrike brightblue black
 
  color overstrike brightblue black
  
Следующий пример демострирует настройку привязки клавиш схожую с {{Codeline|less}} (перейти на следующую строку установленно для 'J'):
+
Другой пример, показывающий, как настроить сочетания клавиш, подобно {{Ic|less}} (переход к строке назначен на клавишу {{ic|J}}):
 +
 
 
  % less-like keybindings
 
  % less-like keybindings
 
  unsetkey "^K"
 
  unsetkey "^K"
Line 139: Line 188:
 
  setkey edit "v"
 
  setkey edit "v"
  
===Второй способ: использование 'less'===
+
=== Цветные страницы в xterm или rxvt-unicode ===
:<small>''Источник: [http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html nion's blog - less colors for man pages]''</small>
+
 
 +
Быстрый способ раскрасить цвета man-страниц, которые просматриваются через {{Pkg|xterm}} / {{Ic|uxterm}} или {{Pkg|rxvt-unicode}}, заключается в редактировании файла {{ic|~/.Xresources}}.
  
В качестве альтернативы, получение приблизительно таких же цветных справочных страниц возможно с помощью {Codeline|less}}. Этот метод имеет то преимущество, что {{Codeline|less}} имеет больший набор функций, чем {{Codeline|most}}, и этот способ может быть предпочтительней для опытных пользователей.
+
В подразделах представлена конфигурация для xterm и rxvt-unicode.
  
Добавьте следующее в файл конфигурации оболочки(shell). Для [[Bash]] это {{Filename|~/.bashrc}}:
+
==== xterm ====
<pre>
+
 
man() {
+
*VT100.colorBDMode:    true
env \
+
*VT100.colorBD:        red
LESS_TERMCAP_mb=$(printf "\e[1;37m") \
+
*VT100.colorULMode:    true
LESS_TERMCAP_md=$(printf "\e[1;37m") \
+
*VT100.colorUL:        cyan
LESS_TERMCAP_me=$(printf "\e[0m") \
+
 
LESS_TERMCAP_se=$(printf "\e[0m") \
+
Эти настройки заменяют начертания текста цветами. Добавьте также:
LESS_TERMCAP_so=$(printf "\e[1;47;30m") \
+
 
LESS_TERMCAP_ue=$(printf "\e[0m") \
+
*VT100.veryBoldColors: 6
LESS_TERMCAP_us=$(printf "\e[0;36m") \
+
 
man "$@"
+
если вы хотите видеть цвета и начертания одновременно. Смотрите также {{man|1|xterm}} для описания ресурса терминала {{ic|veryBoldColors}}.
}
+
 
</pre>
+
==== rxvt-unicode ====
 +
 
 +
Конфигурация:
 +
 
 +
URxvt.colorIT:      #87af5f
 +
URxvt.colorBD:      #d7d7d7
 +
URxvt.colorUL:      #87afd7
 +
 
 +
После внесения изменений в файл, выполните:
 +
$ xrdb -load ~/.Xresources
 +
 
 +
Запустите {{Ic|xterm}}/{{Ic|uxterm}} или {{Ic|rxvt-unicode}} и вы должны увидеть цветные man-страницы. Эти настройки добавляют цвета для слов, написанных '''полужирным''' и <u>подчеркнутым</u> шрифтом в {{Ic|xterm/uxterm}}, и цвета для слов в '''полужирном''', <u>подчеркнутом</u>, и ''наклонном'' начертаниях в {{Ic|rxvt-unicode}}. Вы можете также совмещать эти атрибуты в различные комбинации.
 +
 
 +
== Просмотр локальных страниц ==
  
Чтобы настроить цвета, смотрите [[Wikipedia:ANSI escape code]] для справки.
+
Кроме утилиты man, для чтения man-страниц вы также можете использовать веб-браузер, например {{Pkg|lynx}} или [[Firefox (Русский)|Firefox]]. Просмотр страниц в браузере позволяет воспользоваться основным преимуществом info-страниц — гиперссылками. Пользователи [[KDE (Русский)|KDE]] могут читать man-страницы в Konqueror, используя URL вида:
  
==Чтение man страниц с помощью браузера==
 
Использование таких браузеров, как [[lynx]] и [[Firefox]] для просмотра man страниц позволяет пользователям воспользоваться основным преимуществом информационных страниц: текст с гиперссылками.
 
Кроме того, пользователи [[KDE]] могут читать страницы man в браузере Konqueror с помощью:
 
 
  man:<name>
 
  man:<name>
  
===Использование локальных man страниц===
+
Кроме того, вы можете [[pacman (Русский)#Установка определенных пакетов|установить]] следующие пакеты из [[Official repositories (Русский)|официальных репозиториев]]:
Для начала, установите {{package AUR|man2html}} из [[Arch_User_Repository_(Русский)|AUR]].
+
 
 +
1. {{pkg|xorg-xman}} для просмотра страниц в [[Xorg (Русский)|X]].
 +
 
 +
2. {{pkg|yelp}} — Help Browser из состава [[GNOME (Русский)|GNOME]].
 +
 
 +
=== Конвертирование страниц в HTML ===
 +
 
 +
==== mandoc ====
 +
 
 +
Установите пакет {{AUR|mandoc}}. Чтобы конвертировать страницу, для примера, {{ic|free(1)}}, наберите:
 +
 
 +
$ gunzip -c /usr/share/man/man1/free.1.gz | mandoc -Thtml -Ostyle=style.css 1> free.html
 +
 
 +
Получившийся файл {{ic|free.html}} теперь можно открыть в любом веб-браузере.
 +
 
 +
==== man2html ====
 +
 
 +
Установите {{Pkg|man2html}} из [[Official repositories (Русский)|официальных репозиториев]].
 +
 
 +
Сконвертируйте страницу командой:
  
Теперь, сконвертируйте man страницу:
 
 
  $ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html
 
  $ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html
  
Также, {{codeline|man2html}} можно использовать для экспортирование в сырой, подходящий для принтера, текст:
+
Другая полезная функция {{Ic|man2html}} — экспорт в обычный текстовый файл, который можно распечатать:
 +
 
 
  $ man free | man2html -bare > ~/free.txt
 
  $ man free | man2html -bare > ~/free.txt
  
GNU реализация man, находящегося в репозиториях Arch также имеет возможно сделать это самостоятельно:
+
==== man -H ====
 +
 
 +
Реализация утилиты man от GNU, также позволяет открыть страницу в веб-браузере:
 +
 
 
  $ man -H free
 
  $ man -H free
  
Эта команда считает вашу переменную окружения <code>BROWSER</code> для определения браузера. Вы можете сами определить нужный браузер, передавая опции -H путь к бинарному файлу. Например:
+
Команда запустит браузер, установленный в [[Environment variables (Русский)|переменной окружения]] {{ic|BROWSER}}. Вы можете указать браузер явно, передав путь до исполняемого файла сразу после опции {{ic|-H}}.
  man -H /путь/бинарнику free
+
 
 +
==== roffit ====
 +
 
 +
Установите пакет {{AUR|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, кэшируя файлы в каталоге {{ic|$HOME/.manpdf/}}, и открывает программу для просмотра документа {{Pkg|mupdf}}.
 +
 
 +
{{hc|Usage: manpdf [<section>] <manpage>|<nowiki>
 +
#!/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;
 +
}
 +
</nowiki>}}
 +
 
 +
== Просмотр онлайн-страниц ==
 +
 
 +
Существуют множество онлайн-хранилищ man-страниц; вот небольшой список:
 +
 
 +
* [http://man7.org/linux/man-pages/index.html Man7.org.] Первоисточник страниц для {{pkg|man-pages}}.
 +
* [http://manpages.debian.net/ man-страницы Debian GNU/Linux]
 +
* [http://leaf.dragonflybsd.org/cgi/web-man man-страницы DragonFlyBSD]
 +
* [http://www.freebsd.org/cgi/man.cgi man-страницы FreeBSD Hypertext]
 +
* [http://www.manpages.spotlynx.com/ man-страницы Linux and Solaris 10]
 +
* [http://manpagehelp.net man-страницы Linux/FreeBSD] с комментариями пользователей
 +
* [http://linux.die.net/man/ man-страницы на die.net]
 +
* [http://www.kernel.org/doc/man-pages/ man-страницы на kernel.org]
 +
* [http://netbsd.gw.com/cgi-bin/man-cgi man-страницы NetBSD]
 +
* [http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html man-страницы Mac OS X]
 +
* [http://unixhelp.ed.ac.uk/alphabetical/index.html man-страницы UNIX]
 +
* [http://www.openbsd.org/cgi-bin/man.cgi man-страницы OpenBSD]
 +
* [http://man.cat-v.org/plan_9/ Руководство Plan 9 — Том 1]
 +
* [http://man.cat-v.org/inferno/ Руководство Inferno — Том 1]
 +
* [http://sfdoccentral.symantec.com/sf/5.0MP3/linux/manpages/index.html man-страницы Storage Foundation]
 +
* [http://www.unix.com/man-page/OpenSolaris/1/man/ man-страницы форума The UNIX and Linux Forums]
 +
* [http://manpages.ubuntu.com/ репозиторий man-страниц Ubuntu]
 +
 
 +
{{Warning (Русский)|Некоторые дистрибутивы 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)
  
===Использование онлайновых страниц man===
+
== Смотрите также ==
Есть несколько онлайновых баз данных страниц man, включая:
 
  
*[http://manpages.debian.net/ ''Страницы man Debian GNU/Linux'']
+
* [[General recommendations (Русский)|Основные рекомендации]] — Основные рекомендации по Arch Linux.
*[http://leaf.dragonflybsd.org/cgi/web-man ''Страницы man DragonFlyBSD'']
+
* [http://wiki.gentoo.org/wiki/Man_page Man page] — статья на Gentoo wiki.
*[http://www.freebsd.org/cgi/man.cgi ''Страницы man FreeBSD Hypertext'']
 
*[http://www.manpages.spotlynx.com/ ''Страницы man Linux и Solaris 10'']
 
*[http://manpagehelp.net ''Страницы man Linux/FreeBSD''] с комментариями пользователей
 
*[http://linux.die.net/man/ ''Страницы man Linux на die.net'']
 
* [http://www.kernel.org/doc/man-pages/ Проект man страниц по Linux на kernel.org]
 
*[http://man-wiki.net/index.php/Main_Page Man-Wiki: ''Linux / Solaris / UNIX / BSD'']
 
*[http://netbsd.gw.com/cgi-bin/man-cgi ''Страницы man NetBSD'']
 
*[http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html ''Страницы man Mac OS X'']
 
*[http://unixhelp.ed.ac.uk/alphabetical/index.html ''Онлайн страницы man UNIX'']
 
*[http://www.openbsd.org/cgi-bin/man.cgi ''Страницы man OpenBSD'']
 
*[http://man.cat-v.org/plan_9/ ''Руководство по Plan 9 — Том 1'']
 
*[http://man.cat-v.org/inferno/ ''Руководство по Inferno Том 1'']
 
*[http://sfdoccentral.symantec.com/sf/5.0MP3/linux/manpages/index.html ''Страницы man Storage Foundation'']
 
*[http://www.unix.com/man-page/OpenSolaris/1/man/ ''Репозиторий страниц man на форуме UNIX и Linux'']
 
*[http://manpages.ubuntu.com/ ''Репозиторий страниц man Ubuntu'']
 

Latest revision as of 08:02, 19 January 2019

Tango-preferences-desktop-locale.pngЭта страница нуждается в сопроводителеTango-preferences-desktop-locale.png

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

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

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

Доступ к 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

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

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

$ man -K password

Цветные man-страницы

Текст man-страниц может отображаться в разных цветах, что упрощает их чтение. Есть два основных метода, позволяющих раскрасить страницы — с помощью утилит less и most.

С помощью less (рекомендуется)

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

Добавьте следующие строки в файл конфигурации вашей командной оболочки (для 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 настройки будут выглядеть как-то так:

~/.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.

С помощью most (не рекомендуется)

Утилита most выполняет ту же задачу, что less и more, но имеет меньший набор возможностей. Настройка цветов для most проще, однако требуется дополнительная настройка для того, чтобы most работал наподобие less.

Установите пакет most, доступный в официальных репозиториях.

В файле /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 / uxterm или rxvt-unicode, заключается в редактировании файла ~/.Xresources.

В подразделах представлена конфигурация для xterm и rxvt-unicode.

xterm

*VT100.colorBDMode:     true
*VT100.colorBD:         red
*VT100.colorULMode:     true
*VT100.colorUL:         cyan

Эти настройки заменяют начертания текста цветами. Добавьте также:

*VT100.veryBoldColors: 6

если вы хотите видеть цвета и начертания одновременно. Смотрите также xterm(1) для описания ресурса терминала veryBoldColors.

rxvt-unicode

Конфигурация:

URxvt.colorIT:      #87af5f
URxvt.colorBD:      #d7d7d7
URxvt.colorUL:      #87afd7

После внесения изменений в файл, выполните:

$ xrdb -load ~/.Xresources

Запустите xterm/uxterm или rxvt-unicode и вы должны увидеть цветные man-страницы. Эти настройки добавляют цвета для слов, написанных полужирным и подчеркнутым шрифтом в xterm/uxterm, и цвета для слов в полужирном, подчеркнутом, и наклонном начертаниях в rxvt-unicode. Вы можете также совмещать эти атрибуты в различные комбинации.

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

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

man:<name>

Кроме того, вы можете установить следующие пакеты из официальных репозиториев:

1. xorg-xman для просмотра страниц в X.

2. yelp — Help Browser из состава GNOME.

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

mandoc

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

$ gunzip -c /usr/share/man/man1/free.1.gz | mandoc -Thtml -Ostyle=style.css 1> 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, который является типографским языком. Если у вас установлен ghostscript, конвертирование man-страниц в PDF выполнить очень просто:

man -t имя_страницы | ps2pdf - pdf_файл

По этой ссылке вы можете посмотреть, как будет выглядеть получившийся PDF-документ.

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

Следующий perl-скрипт конвертирует man-страницы в PDF, кэшируя файлы в каталоге $HOME/.manpdf/, и открывает программу для просмотра документа 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-страниц; вот небольшой список:

Важно: Некоторые дистрибутивы 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)

Смотрите также