Введение в администрирование UNIX/Командная строка UNIX: различия между версиями

Содержимое удалено Содержимое добавлено
→‎Справочная подсистема: картинки, оформление.
Строка 270:
 
=== Справочная подсистема ===
[[Файл:Small-lect3-10.png|left|300px|Презентация 3-10: справочная подсистема]]
 
Презентация 3-10: справочная подсистема
 
Работать с UNIX, не заглядывая в документацию, практически невозможно. Это возможно, потому что документированы практически все области операционной системы. Всем пользователям настоятельно рекомендуется, приступая к работе, а тем более — к изучению UNIX, пользоваться всеми доступными руководствами. Исторически первым и основным средством документации во всех версиях являются страницы руководства (manual pages), которые будут подробно рассмотрены далее.
Строка 280 ⟶ 279 :
 
Современные свободные UNIX-системы обладают большим сообществом пользователей и разработчиков, объединённых через Интернет. В этих сообществах является нормальной практикой взаимопомощь и ответы на вопросы по системе. Однако, здесь необходимо следовать описанному выше принципу RTFM.
Страницы руководтсва
 
==== Страницы руководтсва ====
[[Файл:Small-lect3-11.png|right|300px|Презентация 3-11: страницы руководств (man)]]
 
Больше всего полезной информации содержится в страницах руководства, для краткости мы будем называть их просто «руководство». Каждая страница посвящена какому-нибудь одному объекту системы. Для того чтобы посмотреть страницу руководства, нужно дать команду системе '''man объект''':
 
<source lang='bash'>
Строка 303 ⟶ 302 :
 
 
Страница руководства занимает, как правило, больше одной страницы экрана. Для того чтобы читать было удобнее, man запускает программу постраничного просмотра текстов — '''less'''. Управлять программой less просто: страницы перелистываются пробелом, а когда читать надоест, надо нажать '''q''' (Quit). Перелистывать страницы можно и клавишами '''Page Up/Page Down''', для сдвига на одну строку вперед можно применять '''Enter''' или стрелку вниз, а на одну строку назад — стрелку вверх. Переход на начало и конец текста выполняется по командам '''g''' и '''G''' соответственно (Go). Полный список того, что можно делать с текстом в '''less''', выводится по команде '''h''' (help). Для поиска и подстветки интересующего понятия можно воспользоваться командой /, после которой необходимо ввести интересующий Вас термин — по нажатию клавиши '''Enter''', курсор перейдёт к первому упоминанию термина, который будет выделен серым цветом. Последующие нажатия / и '''Enter''' приведут к продолжению поиска слова по документу.
 
Страница руководства состоит из полей — стандартных разделов, с разных сторон описывающих заинтересовавший объект — например, команду '''cal'''. В поле NAME содержится краткое описание объекта (такое, чтобы его назначение было понятно с первого взгляда). В поле SYNOPSIS дается формализованное описание способов использования объекта (в данном случае — того, как и с какими параметрами запускать команду '''cal'''). Как правило, в квадратные скобки в этом поле заключены необязательные параметры команды, которые можно ей передать, а можно и опустить. Например, строка «[[month] year]» означает, что в этом месте командной строки параметров у команды может не быть вообще, может быть указан год или пара — месяц и год. Наконец, текст в поле DESCRIPTION — это развернутое описание объекта, достаточное для того, чтобы им воспользоваться.
 
Одно из самых важных полей руководства находится в конце текста. Если в процессе чтения NAME или DESCRIPTION пользователь понимает, что не нашел в руководстве того, что искал, он может захотеть посмотреть, а есть ли другие руководства или иные источники информации по той же теме. Список таких источников содержится в поле SEE ALSO:
Строка 315 ⟶ 314 :
;SEE ALSO:apropos(1), whatis(1), less(1), groff(1), man.conf(5).
 
Справочные руководства делятся на разделы — в зависимости от типа описываемых объектов. Если один и тот же термин описывается в нескольких разделах, необходимо явно указать, какой из них использовать, например, '''man 3 printf''' для 3-го раздела руководств.
 
Всего существует 8 разделов руководств:
Строка 328 ⟶ 327 :
# команды и инструменты системного администратора
 
'''==== Поиск по руководствам''' ====
В примере выше в поле SEE ALSO обнаружились ссылки на руководства по '''less, groff''' (программе форматирования страницы руководства), структуре конфигурационного файла для man, а также по двум сопутствующим командам с такими говорящими названиями «apropos» и «whatis». Как и команда '''apropos, whatis''' ищет подстроку в некоторой базе данных, состоящей из полей NAME всех страниц помощи в системе. Различие между ними в том, что '''whatis''' — только среди имен объектов (в левых частях полей NAME), а apropos — по всей базе. В результате у '''whatis''' получается список кратких описаний объектов с именами, включающими искомое слово, а у '''apropos''' — список, в котором это слово упоминается. Для того, чтобы это узнать, все равно пришлось один раз прочесть документацию.
 
Описания объектов, выводимые '''whatis''' или '''apropos''', отличаются числом в скобках — номером раздела:
В примере выше в поле SEE ALSO обнаружились ссылки на руководства по less, groff (программе форматирования страницы руководства), структуре конфигурационного файла для man, а также по двум сопутствующим командам с такими говорящими названиями «apropos» и «whatis». Как и команда apropos, whatis ищет подстроку в некоторой базе данных, состоящей из полей NAME всех страниц помощи в системе. Различие между ними в том, что whatis — только среди имен объектов (в левых частях полей NAME), а apropos — по всей базе. В результате у whatis получается список кратких описаний объектов с именами, включающими искомое слово, а у apropos — список, в котором это слово упоминается. Для того, чтобы это узнать, все равно пришлось один раз прочесть документацию.
 
Описания объектов, выводимые whatis или apropos, отличаются числом в скобках — номером раздела:
 
<source lang='bash'>
Строка 340 ⟶ 338 :
passwd (8) - manual page for passwd wrapper version 1.0.5</tt>
 
'''==== Программа info''' ====
 
Другой источник информации о UNIX (а точнее, в UNIX-подобных системах, базирующихся на программном обеспечении от GNU) и составляющих ее программах — справочная подсистема '''info'''. Страница руководства, несмотря на обилие ссылок различного типа, остается «линейным» текстом, структурированным только логически. Документ info структурирован прежде всего топологически — это настоящий гипертекст, в котором множество небольших страниц объединены в дерево. В каждом разделе документа info всегда есть оглавление, из которого можно перейти сразу к нужному подразделу, откуда всегда можно вернуться обратно. Кроме того, info-документ можно читать и как непрерывный текст, поэтому в каждом подразделе есть ссылки на предыдущий и последующий подразделы.
 
'''Программа info'''
 
Другой источник информации о UNIX (а точнее, в UNIX-подобных системах, базирующихся на программном обеспечении от GNU) и составляющих ее программах — справочная подсистема info. Страница руководства, несмотря на обилие ссылок различного типа, остается «линейным» текстом, структурированным только логически. Документ info структурирован прежде всего топологически — это настоящий гипертекст, в котором множество небольших страниц объединены в дерево. В каждом разделе документа info всегда есть оглавление, из которого можно перейти сразу к нужному подразделу, откуда всегда можно вернуться обратно. Кроме того, info-документ можно читать и как непрерывный текст, поэтому в каждом подразделе есть ссылки на предыдущий и последующий подразделы.
 
Программа info использует весь экран: на большей его части она показывает текст документа, а первая и две последних строки ориентации в его структуре.
 
Одна или несколько страниц, которые можно перелистывать клавишей Пробел или '''Page Up/Page Down''' — это узел (node). Узел содержит обычный текст и меню (menu) — список ссылок на другие узлы, лежащие в дереве на более низком уровне. Ссылки внутри документа имеют вид «* имя_узла::» и перемещать по ним курсор можно клавишей '''Tab''', а переходить к просмотру выбранного узла — клавишей '''Enter'''. Вернуться к предыдущему просмотренному узлу можно клавишей l (oт «Last»). И, главное, выйти из программы info можно, нажав '''q''' («Quit»). Более подробную справку об управлении программой info можно в любой момент получить у самой info, нажав '''?'''.
Документация, поставляемая с программой
 
==== Документация, поставляемая с программой ====
Некоторые объекты системы не имеют документации ни в формате man, ни в формате info. В этом случае можно надеяться, что при них есть сопроводительная документация, не имеющая, увы, ни стандартного формата, ни тем более ссылок на руководства по другим объектам системы. Такая документация (равно как и примеры использования объекта), обычно помещается в каталог /usr/share/doc/имя_объекта. Как правило, имя объекта здесь — это имя программы и её текущая версия.
 
Существует ещё одна довольно распространённая ситуация, в которой обширная документация по продукту, расположенная в директории /usr/share/doc/ выходит далеко за рамки man или info — если продукт достаточно сложен и имеет собственную структурированную и очень объёмную документацию. Примерами могут служить веб-сервер Apache или почтовый сервер Postfix.
Современные системы документации
 
==== Современные системы документации ====
В современных свободных версиях UNIX существуют проекты, целью которых является объединение и структуризация документации на основе XML. Одним из них является проект Scrollkeeper, который объединяет всю документацию (в первую очередь в современных оконных средах GNOME и KDE) и позволяют просматривать её с помощью простого браузера, предоставляют поиск, индекс и т. п..