- Мануалы в Linux: как их вызвать с помощью команды man
- Как устроен справочник в Linux?
- Как читать интерактивную справку?
- Где хранятся мануалы?
- Man-страницы в Linux. Как пользоваться. Установка
- Что такое Man-страницы
- Как открыть Man-страницы
- Синтаксис команды man
- Разделы
- Поиск Man-страниц
- Горячие клавиши и поиск внутри Man-страницы
- Установка Man-страниц
- Основы Linux от основателя Gentoo. Часть 3 (1/4): Документация
- Предисловие
- Об этом руководстве
- Системная и сетевая документация
- Типы системной документации в Linux
- Страницы руководств
- Секции ман-страниц
- Многочисленные ман-страницы
- Поиск нужного мана
- Всё об “apropos”
- MANPATH
- GNU info
- /usr/share/doc
- Linux Documentation Project
- Обзор LDP
- Списки рассылки
- Еще о списках рассылки
- Группы новостей
- Сайты поставщиков и прочие
- Поставщики аппаратного и программного обеспечения
- Об авторах
- Daniel Robbins
- Chris Houser
- Aron Griffis
Мануалы в Linux: как их вызвать с помощью команды man
В каждой системе на основе Linux желающей завоевать поклонников должны быть мануалы, это справочники, в которых любой пользователь сможет найти нужную для себя информацию о принадлежности команд, их возможностях, параметрах системы и ее составных частей. Выходом может стать использование специальной литературы, созданной на платной или бесплатной основе, о том, как управлять системами на UNIX, но данные книги могут служить лишь дополнениями для того, что содержится в справочниках в уже установленных ОС.
Мануалы в Linux не описывают то, как создать или заставить работать SSL-сертификаты, однако, перед их создателями и не было такой цели. Любой сисадмин, работающий с Linux должен получать всю требующуюся ему информацию о командах, списке функций, параметрах системы, с которой он работает из мануалов уже установленных в операционной системе.
Как устроен справочник в Linux?
Чтобы хранить всю информацию о возможностях системы было удобно, ее группируют по различным тематикам, данные в них могут отличаться друг от друга, все зависит от того, какой дистрибутив у вас установлен. Также возможно деление информации в мануалах на подразделы. Ниже вы сможете узнать, где можно найти всю системную информацию в Linux:
- Под цифрой 1 скрываются программы для обычных пользователей;
- Под цифрой 2 можно найти данные о кодах ошибок основного ядра и описание вызовов системы;
- Под цифрой 3 можно увидеть возможности библиотек системы;
- Под цифрой 4 в Linux можно увидеть описание сетевых протоколов и драйверов устройства;
- Пол цифрой 5 в Linux находятся описания файлов, которые поддерживаются системой;
- Под цифрой 6 в Linux находятся данные о примерах игр и программ в системе, HP-UX такой информации не имеет;
- Под цифрой 7 в Linux находится различная документация;
- Под цифрой 8 в Linux описаны возможности для системных администраторов и команды для них;
- Под цифрой 9 описаны системные ядра и внутренние интерфейсы.
Изначально система настроена так, что указывая раздел с помощью man, почти всегда пользователь найдет информацию быстро и может показаться, что делить мануал на тематики бессмысленно, однако это не так. Ведь некоторые команды в UNIX-системах могут использоваться сразу в 2 местах в зависимости от контекста. Пример:
- Есть фраза «passwd» и она имеет 2 значения, как команда и как файл системы;
Информацию о справочных данных вышеприведенные системы содержат в себе в разделах 1, 4 и 5.
Нельзя забывать и про то, что многие дистрибутивы в своих последних версиях переносят команды из раздела 8 в Linux в группу к остальным системным командам. А освободившийся раздел используется как резерв для информации о будущих обновлениях. Помимо этого все меньше информации становится в разделе 6.
Как читать интерактивную справку?
Чтобы прочитать нужную вам информацию в терминале, необходимо ввести в него поисковой запрос, который выглядит так:
man [-опции] номер раздела номер заголовка
Чтобы пользователь смог прочитать информацию, man использует такие утилиты как less и more, они дают возможность читать мануал с комфортом, помимо этого используются и другие возможности для вывода текста. Чтобы мануал был разбит на страницы, утилита использует переменную среды PAGER.
Последним в запрос вписывается заголовок, им может быть наименование утилиты, файла или самого компьютера, другими словами все, о чем нужно найти информацию. Для поиска вначале используются тематики под номерами 1, 6 и 8, именно они содержат данные о командах, если в них ничего не найдено, то проверяются остальные тематики.
-a — показать подряд все справочные страницы.
-f — выдает разделы, где присутствует команда.
-k — искать упоминание в тематиках.
Чтобы найти только раздел без указания заголовка нужно ввести, например, следующую команду:
Данная команда покажет все системные вызовы для «GNU Midnight Commander».
А для нахождения и раздела, и заголовка необходимо ввести название команды и номер раздела:
Однако не во всех команд есть раздел 2, например если написать «man 2 mc», то будет ошибка.
Чтобы такого не было у man есть опция «-f». Она выдаст разделы, в которых присутствует команда.
Как видно из скриншота, утилита mc присутствует только в 1 разделе.
Если пользователю нужны данные о том, в каких тематиках можно найти информацию о «mc», то к запросу man следует приписать аргумент –k. Например, если ввести:
то на экране появится следующая информация:
Результат выполнения man -k mc
После запроса пользователь получит все страницы, на которых упоминается «mc», в них указан номер тематики или подраздела, а также ключевое слово.
Где хранятся мануалы?
Чтобы узнать, где именно в системе Linux находятся мануалы, которые по совместительству являются и входными данными, работающими с командой nroff, следует ввести команду manpath. После ее введения появится ответ системы:
/usr/local/man:/usr/local/share/man:/usr/share/man
Результат данной команды показывает подкаталоги, которые содержат в себе справочную информацию в системе Ubuntu.
Все 3 расположения разделены между собой знаком «:».
В любой момент можно сменить месторасположение страниц мануала, однако они находятся в переменной окружения MANPATH, поэтому для перемещения страниц мануала нужно сменить показатель переменной:
Изначально в системах на основе Linux справочники хранятся в /usr/share/man. Команда «man» может работать и с кэшем страниц, однако для этого такие каталоги как /var/cache/man и /usr/share/man должны быть открыты для записей в них, что ведет к нарушениям в безопасности.
Для экономии пространства на диске мануалы находятся в сжатом виде, им это обеспечивает такая утилита как gzip.
Несмотря на то, что страницы сжаты, команда «man» открывает их очень быстро, ведь она способна на быструю разархивацию.
Источник
Man-страницы в Linux. Как пользоваться. Установка
При работе в Linux иногда требуется чтение документации, руководств или help’ов. В Linux есть отличная документация, которая размещена в Man-страницах.
Что такое Man-страницы
Man-страницы (от слова manual — руководство) — это целая библиотека в системе Linux, содержащая руководства по командам, утилитам, программированию и другим областям системы и не только.
Как открыть Man-страницы
Для чтения Man-страниц предназначена команда man .
Чтобы получить руководство по использованию какой-либо команды нужно выполнить команду:
Например, чтобы вывести руководство по команде wget, нужно выполнить команду:
Синтаксис команды man
В общем виде синтаксис команды man следующий:
Разделы
Man-страницы разделены по тематикам на разделы (на секции). Каждый раздел имеет свой номер. Всего существует 8 основных разделов.
Если вы не указали раздел, при выполнении команды man , то сначала будет выполнен поиск руководства в первом разделе, если его там нет, то во втором и так далее.
Например, откроем руководство по команде sleep. В данном случае будет использоваться первый раздел.
А теперь получим справку по библиотечному вызову sleep языка программирования C (раздел 3):
Ниже представлена таблица с номерами разделов и их назначением (тематикой).
Номер раздела | Описание |
---|---|
1 | Основные команды. |
2 | Системные вызовы. |
3 | Библиотечные функции, включая стандартную библиотеку языка C. |
4 | Специальные файлы (обычно устройства из /dev ) и драйвера. |
5 | Форматы файлов и соглашения. |
6 | Игры и скринсейверы. |
7 | Разное. |
8 | Команды системного администрирования и демоны. |
Для указания ссылок на Man-страницы часто используют следующую запись: имя(раздел) . Например, aporopos(1) , less(1) , exit(3) .
Поиск Man-страниц
Самая полезная опция команды man , это опция -k .
-k — поиск Man-страниц. Выводит список Man-страниц, в которых встречается искомый запрос.
Горячие клавиши и поиск внутри Man-страницы
Вверх , Вниз , Enter — просмотр (прокрутка) Man-страницы.
PgUb , PgDn , Пробел — постраничное пролистывание.
/ — поиск внутри страницы. Нажимаете клавишу / , при этом внизу появляется строка для ввода текста. Вводите текст, который вы хотите найти, и нажимаете Enter .
? — поиск в обратном направлении (снизу вверх). Аналогично нужно ввести текст для поиска и нажать Enter .
n — переход к следующему вхождению.
Shift+n — переход к предыдущему вхождению.
& — поиск внутри страницы, но вместо подсвечивания результатов, вывести только строки, где было найдено искомое слово.
h — открыть справку по командам и горячим клавишам. Чтобы закрыть справку, используется клавиша q .
q — закрыть Man-страницу.
Установка Man-страниц
Как правило, базовые man-страницы обычно всегда установлены в дистрибутивах Linux, но иногда их нужно устанавливать самостоятельно. Для установки Man-страниц выполните следующие команды.
Для Ubuntu:
Для Fedora, CentOS:
Для установки Man-страниц, содержащих описание библиотечных функций языка программирования C, выполните следующие команды.
Для Ubuntu:
Источник
Основы Linux от основателя Gentoo. Часть 3 (1/4): Документация
Первый отрывок третьей части серии руководств для новичков. Практически всё, что нужно знать, чтобы найти справочную информацию по вашей системе. Короче, RTFM и не задавайте глупых вопросов.
Навигация по основам Linux от основателя Gentoo:
Часть I: 1, 2, 3, 4
Часть II: 1, 2, 3, 4, 5
Часть III
Предисловие
Об этом руководстве
Встречайте «Администрирование для продолжающих», третье из четырех пособий, созданных для подготовки к экзамену «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, введите:
Знание структуры мана поможет быстро перемещаться к необходимой вам информации. Обычно, вы найдете следующие разделы в мане:
NAME (ИМЯ) | Имя и однострочное описание команды |
SYNOPSIS (ОБЗОР) | Краткий обзор |
DESCRIPTION (ОПИСАНИЕ) | Углублённое описание функционала команды |
EXAMPLES (ПРИМЕРЫ) | Советы по использованию |
SEE ALSO (СМОТРИ ТАКЖЕ) | Связаные темы (обычно также ман-страницы) |
Секции ман-страниц
Файлы, содержащие информацию манов хранятся в /usr/share/man (или в /usr/man на некоторых старых системах). В этой директории вы найдёте страницы руководств, упорядоченные по следующим секциям:
man1 | Пользовательские программы |
man2 | Системные вызовы |
man3 | Библиотечные функции |
man4 | Специальные файлы |
man5 | Форматы файлов |
man6 | Игры |
man7 | Другое |
Многочисленные ман-страницы
Некоторые темы существуют более чем в одной секции. Для демонстрации этого воспользуюемся командой whatis, показывающей доступные маны по теме:
В данном случае, man printf по-умолчанию обратится к странице в секции 1 (Пользовательские программы). Если мы пишем программу на языке C, нас вероятно больше интересует страница из секции 3 (Библиотечные функции). Вы можете вызывать ман необходимой секции указав это в командной строке, так для вызова printf(3) мы введём:
Поиск нужного мана
Иногда сложно найти правильную ман-страницу по заданной теме. В этом случае можно воспользоваться man -k для поиска по разделам «ИМЯ» ман-страниц. Но будьте осторожны, поскольку осуществляется поиск по подстроке и что-то, навроде man -k ls, выдаст очень много всего! Вот пример использования уточняющего запроса:
Всё об “apropos”
Предыдущий пример не случаен. Во-первых, команда apropos полностью соответствует команде man -k. (На самом деле, я даже вам раскрою небольшой секрет. Когда вы запускаете man -k, фактически «за кулисами» стартует apropos). Во-вторых, существует команда makewhatis, которая сканирует все страницы в вашей Linux системе и создает базу данных для whatis и apropos. Обычно она запускается периодически из-под рута, чтобы поддерживать базу в актуальном состоянии:
Для более подробной информации о команде «man» и её друзьях, вам стоит начать с изучения её собственной ман-страницы:
MANPATH
По умолчанию, программа man будет искать ман-страницы в /usr/share/man, /usr/local/man, /usr/X11R6/man, и быть может в /opt/man. Возможно, вы захотите добавить новый пункт в этом пути поиска. Для этого, просто откройте /etc/man.conf в текстовом редакторе и добавьте строчку вроде такой:
С этого момента, страницы руководств в директориях /opt/man/man* также будут найдены. Помните, что вам необходимо запустить makewhatis, чтобы добавить новые маны в базу whatis.
GNU info
Одно из ограничений страниц руководств это то, что они не поддерживают гипертекст, так что у вас не получится просто переходить от одного руководства к другому. Ребята из GNU увидели этот недостаток и ввели другой формат документации: инфо-страницы. Многие из программ GNU идут с расширенной документацией в формате инфо-страниц. Вы можете приступить к чтению инфо-страниц при помощи комманды «info»:
Простой вызов команды info даст список доступных инфо-страниц в вашей системе. Вы можете перемещаться по нему используя стрелки, переходить по ссылкам (которые обозначены звездочкой) с помощью клавиши Enter и выйти нажав q. Навигация основана на таковой в Emacs, так что если вы знакомы с этим редактором, вам будет легко освоиться. Чтобы познакомиться с Emacs, посмотрите руководство на developerWorks: Living in Emacs.
Вы также можете указать нужную инфо-страницы в командной строке:
Чтобы получить больше информации об использовании просмотрщика инфо-страниц, попробуйте прочитать его собственную инфо-страницу. Вы сможете перемещаться по документу просто используя несколько клавиш о которых я уже упоминал:
/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 зачастую предоставляют обновленную документацию, инструкции по установке, информацию о совместимости или несовместимости с оборудованием и другие средства поддержки, такие как поиск по базе знаний. Например:
Поставщики аппаратного и программного обеспечения
В последние годы, многие поставщики устройств и программного обеспечения добавили поддержку 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. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».
Источник