- Основы Linux от основателя Gentoo. Часть 3 (1/4): Документация
- Предисловие
- Об этом руководстве
- Системная и сетевая документация
- Типы системной документации в Linux
- Страницы руководств
- Секции ман-страниц
- Многочисленные ман-страницы
- Поиск нужного мана
- Всё об “apropos”
- MANPATH
- GNU info
- /usr/share/doc
- Linux Documentation Project
- Обзор LDP
- Списки рассылки
- Еще о списках рассылки
- Группы новостей
- Сайты поставщиков и прочие
- Поставщики аппаратного и программного обеспечения
- Об авторах
- Daniel Robbins
- Chris Houser
- Aron Griffis
- Linux Tutorial — 4. Manual Pages
- Manual Pages!
- Introduction
- So what are they exactly?
- Searching
- More on the Running of Commands
- Summary
- Activities
Основы 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. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».
Источник
Linux Tutorial — 4. Manual Pages
Manual Pages!
Your reference on Linux.
Introduction
The Linux command line offers a wealth of power and opportunity. If your memory is like mine then you find it hard to remember a large number of details. Fortunately for us there is an easy to use resource that can inform us about all the great things we can do on the command line. That’s what we’re going to learn about in this section. I know you’re keen and eager to get stuck into doing stuff, and we’ll get started on that in the next section, I promise, first we need to learn how to use Manual pages however.
So what are they exactly?
The manual pages are a set of pages that explain every command available on your system including what they do, the specifics of how you run them and what command line arguments they accept. Some of them are a little hard to get your head around but they are fairly consistent in their structure so once you get the hang of it it’s not too bad. You invoke the manual pages with the following command:
- man ls
- Name
- ls — list directory contents
- Synopsis
- ls [option] . [file] .
- Description
- List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor —sort is specified.
- Mandatory arguments to long options are mandatory for short options too.
- -a, —all
- do not ignore entries starting with .
- -A, —almost-all
- do not list implied . and ..
- .
Let’s break it down:
- Line 3 tells us the actual command followed by a simple one line description of it’s function.
- Lines 6 is what’s called the synopsis. This is really just a quick overview of how the command should be run. Square brackets ( [ ] ) indicate that something is optional. (option on this line refers to the command line options listed below the description)
- Line 9 presents us with a more detailed description of the command.
- Line 11 onwards Below the description will always be a list of all the command line options that are available for the command.
To exit the man pages press ‘q’ for quit.
Searching
It is possible to do a keyword search on the Manual pages. This can be helpful if you’re not quite sure of what command you may want to use but you know what you want to achieve. To be effective with this approach, you may need a few goes. It is not uncommon to find that a particular word exists in many manual pages.
If you want to search within a manual page this is also possible. To do this, whilst you are in the particular manual page you would like to search press forward slash ‘/’ followed by the term you would like to search for and hit ‘enter’ If the term appears multiple times you may cycle through them by pressing the ‘n’ button for next.
More on the Running of Commands
A lot of being proficient at Linux is knowing which command line options we should use to modify the behaviour of our commands to suit our needs. A lot of these have both a long hand and short hand version. eg. Above you will notice that to list all directory entries (including hidden files) we can use the option -a or —all (remember from last section what files and directories beginning with a . are?). The long hand is really just a more human readable form. You may use either, they both do the same thing. One advantage of using long hand is that it can be easier for you to remember what your commands are doing. One advantage of using shorthand is that you can chain multiple together easier.
- pwd
- /home/ryan
- ls -a
- ls —all
- ls -alh
Look up the man page for ls to find out what that last command is doing.
As you can see, long hand command line options begin with two dashes ( — ) and short hand options begin with a single dash ( — ). When we use a single dash we may invoke several options by placing all the letters representing those options together after the dash. (There are a few instance where a particular option requires an argument to go with it and those options generally have to be placed separately along with their corresponding argument. Don’t worry too much about these special cases for now though. We’ll point them out as we encounter them.)
Summary
Activities
Right, now let’s put this stuff into practice. Have a go at the following:
- Have a skim through the man page for ls. Have a play with some of the command line options you find there. Make sure you play with a few as combinations. Also make sure you play with ls with both absolute and relative paths.
- Now try doing a few searches through the man pages. Depending on your chosen terms you may get quite a large listing. Look at a few of the pages to get a feel for what they are like.
Источник