# Man Page (Русский)

Man страницы (от англ. manual — руководство) - это обширная документация, предустановленная почти во всех значительных UNIX подобных операционных системах, включая Arch Linux. Для их отображения служит команда `man`.

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

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

Чтобы прочитать man страницу, просто введите:

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

Руководства отсортированы по нескольким секциям:

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

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

    $ man 5 passwd

чтобы прочитать man по `/etc/passwd`, вместо утилиты `passwd`.

Очень краткие описание программ можно прочитать из man страниц не выводя из целиком с помощью команды `whatis`. Например, для краткого описания ls, напечатайте:

    $ whatis ls

и `whatis` выведет "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` для поиска в кратком описании страницы руководства заданного ключевого слова. Например, чтобы найти страницу относящуюся к "password":

    $ man -k password

или:

    $ man --apropos password

Это эквивалентно вызову команды `apropos`:

    $ apropos password

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

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

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

Есть два основных способа получения цвеных man страниц: использование `most`, или с помощью опций для `less`. Первый проще в настройках в ущерб дополнительных функций присущих `less`.

### Первый способ: используя 'most'

Установите most с помощью pacman:

    # pacman -S most

Это программа подобна `less` и `more`, а также с легкостью позволяет отображать цветной текст.

Отредактируйте `/etc/man_db.conf`, раскомментируйте определение просмоторщика из замените его следующим образом:

    DEFINE     pager     most -s

Протестируйте новые настройки напечатав:

    $ man whatever_man_page

Изменение цвета требует редактирования `~/.mostrc` (создайте, если его не существует) или редактирования `/etc/most.conf` для глобальных настроек. Например, `~/.mostrc`:

    % 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"

### Второй способ: использование 'less'

  Источник: nion's blog - less colors for man pages

В качестве альтернативы, получение приблизительно таких же цветных справочных страниц возможно с помощью {Codeline|less}}. Этот метод имеет то преимущество, что `less` имеет больший набор функций, чем `most`, и этот способ может быть предпочтительней для опытных пользователей.

Добавьте следующее в файл конфигурации оболочки(shell). Для Bash это `~/.bashrc`:

    man() {
    	env \
    		LESS_TERMCAP_mb=$(printf "\e[1;37m") \
    		LESS_TERMCAP_md=$(printf "\e[1;37m") \
    		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") \
    		LESS_TERMCAP_us=$(printf "\e[0;36m") \
    			man "$@"
    }

Чтобы настроить цвета, смотрите Wikipedia:ANSI escape code для справки.

## Чтение man страниц с помощью браузера

Использование таких браузеров, как lynx и Firefox (Русский) для просмотра man страниц позволяет пользователям воспользоваться основным преимуществом информационных страниц: текст с гиперссылками. Кроме того, пользователи KDE могут читать страницы man в браузере Konqueror с помощью:

    man:<name>

### Использование локальных man страниц

Для начала, установите man2html из AUR.

Теперь, сконвертируйте man страницу:

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

Также, `man2html` можно использовать для экспортирование в сырой, подходящий для принтера, текст:

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

GNU реализация man, находящегося в репозиториях Arch также позволяет сделать это самостоятельно, без посторонних утилит:

    $ man -H free

Эта команда считает вашу переменную окружения `BROWSER` для определения браузера. Вы можете сами определить нужный браузер, передавая опции -H путь к бинарному файлу. Например:

    man -H /путь/к/бинарнику free

### Использование онлайновых страниц man

Есть несколько онлайновых баз данных страниц man, включая:

- Страницы man Debian GNU/Linux
- Страницы man DragonFlyBSD
- Страницы man FreeBSD Hypertext
- Страницы man Linux и Solaris 10
- Страницы man Linux/FreeBSD с комментариями пользователей
- Страницы man Linux на die.net
- Проект man страниц по Linux на kernel.org
- Man-Wiki: Linux / Solaris / UNIX / BSD
- Страницы man NetBSD
- Страницы man Mac OS X
- Онлайн страницы man UNIX
- Страницы man OpenBSD
- Руководство по Plan 9 — Том 1
- Руководство по Inferno — Том 1
- Страницы man Storage Foundation
- Репозиторий страниц man на форуме UNIX и Linux
- Репозиторий страниц man Ubuntu

Categories:

- Utilities (Русский)
- Русский