Как уже неоднократно отмечалось, аккуратная документация -
непременная составная часть проективной системы. Согласно И, все, что
пользователю о системе неизвестно, должно быть доступно изучению и
включено в нее. Согласно У, информация, которую придется пересмотреть
в процессе изучения, должна содержать все, что относится к делу, но
не более. Чтобы по всякому поводу не приниматься изучать систему
целиком, надо предусмотреть средство ограничения контекста,
позволяющее выбирать документацию по теме. Выходит, что документацией
по какой-нибудь утилите не могут служить, скажем, технические
замечания, Changelog (он же Whatsnew ) и даже README, включаемые в
исходные тексты данной утилиты. Это, условно говоря, документация для
программистов (точнее - для тех, кто будет улучшать или исправлять
саму утилиту). Нас же интересует документация для пользователей (т.
е. для тех, кому утилита понадобится в работе). К тому же описание
утилиты и способов ее применения должно быть дополнено некоторой
задающей контекст информацией: для чего утилита, чем она пользуется,
что еще стоит почитать. Если речь идет о внушительных размеров
пользовательском прикладном пакете, которым не пользуются другие
части системы, стоит рассматривать сам этот пакет как систему, внутри
которой опять-таки требуется ограничивать контекст, дабы не изучать
ее целиком (так устроена, например, документация по Tcl/Tk ).
Исторически первая, главная и наиболее сбалансированная система
документации в UNIX называется "
. Например, команда man man выдаст руководство по самой
этой утилите, которое можно просмотреть постранично, перелистывая
страницы клавишей "пробел". Если вы пользуетесь каким-нибудь
инструментом UNIX, но еще не читали его руководства, прочитайте
непременно! Хотя бы для того, чтобы иметь представление обо всех его
возможностях. Руководства есть не только у каждой утилиты системы, но
и у многих других объектов. Согласно И, информационная подсистема
должна давать достаточно сведений для самостоятельного решения любых
принципиально разрешимых задач, а значит, описания нужны и структурам
данных, и средствам интеграции, и простейшим приемам работы с
системой. Все
fortune );В некоторых версиях UNIX добавляется девятый
Все грамотно написанные baby. Помимо прочего, в нем аккуратно расписаны все
основные
- содержит только имя объекта и его очень краткое,
на одну строку, описание - суть всего руководства, поэтому
очень важно, чтобы описание, при всей краткости, давало полную и
четкую картину описываемого.
описывает общий вид использования объекта. Например, в
случае утилиты оно представляет собой командную строку со всеми
возможными параметрами должны быть представлены все
варианты использования; для этого разработан даже специальный язык
сокращений. Например, квадратные скобки обозначают необязательность
параметра, фигурные - выбор одного параметра из списка (тогда они
разделяются символами " | "), многоточие - повторение и т. д. Тем не
менее - тоже очень краткое
содержит развернутое описание объекта. Сюда попадает
любая разъяснительная информация: принципы работы данной утилиты или
функции, назначение и общая структура данного системного файла,
описание внешних устройств, соответствующих данному драйверу и т. п
довольно пространно, перечень возможных параметров командной строки
(иными словами, ключей ) с подробным изложением того, как и зачем их
применять, выносят в OPTIONS. Если работа инструмента зависит от
каких-либо переменных окружения (см. лекцию 17), их список помещается
в ENVIRONMENT.
Функция или системный вызов, как правило, возвращают какое-нибудь
значение. По окончании работы утилиты вырабатывается так называемый код возврата (или код ошибки, который не равен нулю в случае
неудачного завершения работы). Наконец, функция или системный вызов
могут завершиться с разными видами ошибок. Для описания результатов
работы в руководствах имеются RETURN VALUES, DIAGNOSTICS и ERRORS соответственно.
Иногда использование объекта невозможно или некоторый, на первый
взгляд очевидный путь его применения приводит к неочевидным
последствиям. Тогда стоит поместить примеры такого рода ситуаций в CAVEATS. Небольшие примеры успешного использования объекта с
описанием решаемой в них задачи приводятся в EXAMPLES, а
типичные ошибки при работе с объектом, равно как и недочеты в его
реализации, - в BUGS.
, даже если на них
нет руководства руководства, и
узнать, откуда этот инструмент взял дополнительные данные и что
изменил. . В него включаются ,
после имени объекта в скобках указывается номер раздела, в котором
стоит искать руководство.
На самом деле структура руководства совсем не такая жесткая, как это
может показаться из нашего описания. Зачастую даже хотелось бы, чтобы
она была пожестче (например, чтобы ключи утилит всегда выносились в
отдельное OPTIONS или чтобы EXAMPLES присутствовало
всегда). Вполне допустимо вводить новые COMMANDS - для команд с клавиатуры, COMPATIBILITY - для описания
совместимости с предыдущими версиями и т. п.); ненужные
Нередко в руководство включается HISTORY, где кратко
описывается, когда в какой именно системе впервые появился объект и
как он впоследствии развивался. Сведения об авторах, адрес, куда
присылать жалобы и предложения (электронный и обычный) и прочую
контактную информацию помещают в AUTHORS.
Бывают объекты с одинаковыми именами, но принадлежащие разным passwd, позволяющая пользователю менять
пароль, и файл passwd, в котором хранится учетная запись пользователя
(по иронии судьбы в современных версиях UNIX именно пароля там и
нет). Для того чтобы посмотреть руководство по passwd из пятого man 5 passwd, а если вам
неизвестно, к какому man -a passwd (тогда
вы увидите руководства по всем объектам с именем passwd ). При passwd(1) и passwd(5).
В каждом intro, руководство по
которому описывает назначение этих руководств помещаются security(7) ).
Тем не менее сеть sed ), и указать на то, что существует
некий предмет рассмотрения, с которым этот объект связан
(автоматическая обработка текстов). Причем указание это делается не
напрямую, а путем ссылок на иные объекты, тоже относящиеся к делу.
Руководство - это справочник; его читают, когда имеют представление о
том, что делать, но не знают в точности - как.
Во-вторых, У требует, чтобы при решении некоторой задачи открывающийся информационный контекст был по возможности минимален. Должен быть способ отсекать те области знания, которые не имеют отношения к текущей задаче. И вот с этой точки зрения любые дидактические надстройки над справочником - ненужный шум и, следовательно, вред.
В-третьих, учебникам, "рецептурным книгам" (cookbook) и прочим документам иного формата и назначения в UNIX отведено свое место, поэтому никакой необходимости закладывать все возможные свойства документации в одну подсистему нет.
Первое, что бросается в глаза, - это ее совершенно естественное
происхождение. Трудно поверить, что создатели этой структуры
потратили много времени на ее измышление, штудируя труды по
эргономике, проектированию систем, на соседнем терминальном
устройстве (виртуальной консоли или X-терминале). К тому же
технически переход по некоторым видам ссылок реализовать не так
просто, как это предлагают, скажем, средства просмотра HTML, где
используются только контекстные гиперссылки.
. Этот вид ссылок определяет область действия
инструмента, т. е. определяет не смысловую, а актуальную, действующую
связь.
должна находиться
AUTHORS, HISTORY, AVAILABILITY и т. п. Эти
Особую роль в руководстве играет . Состоит оно
обыкновенно из информационно нагруженных контекстных или заключается в создании контекста
вокруг описываемого объекта, или, как было сказано выше, в указании предмета рассмотрения путем перечисления относящихся к делу объектов.
Используемые в таком качестве ссылки можно называть слишком много наименований) и т. д. Во многих случаях
руководство - главный источник актуальной информации об объекте,
поэтому, согласно И, чем лучше руководство, тем лучше сам объект, так
как он чаще и правильнее используется.
Утилита man(1) - составная, ее вызов - это последовательное
выполнение трех операций: поиск
Сами страницы помощи - это файлы, имена которых включают имена
объектов (об этом будет подробнее рассказано в лекции 13). Файлы
расположены в некотором базовом каталоге (например, в /usr/share/man
или в /usr/X11R6/share/man ) в подкаталогах man1, man2 и т. д. по
количеству без
указания man 8.
Во многих системах compress(1) или gzip(1), так что перед форматированием страница
распаковывается. Руководства хранятся в формате ROFF. Это специальный
язык разметки текста для представления его в виде документа. Первые
его версии появились аж в начале 60-х, еще до рождения UNIX, а после
его многократно расширяли и совершенствовали разработчики UNIX и GNU
(наиболее популярная на сегодня версия этой системы документирования
называется GNU roff, или groff(1) ). В отличие от Д. Кнута, автора
системы TeX (кстати, ), авторы ROFF
не имели целью создать язык разметки полноценной книги.
Им нужно было подготовить систему документирования, продукт которой
одинаково хорошо смотрелся бы и в полиграфическом исполнении, и на
простейшем устройстве вывода текстов (например, алфавитно-цифровом терминале, см. лекцию 8). В ROFF включены все необходимые средства, использует утилиту nroff, которая форматирует ROFF-документ для
выдачи его на алфавитно-цифровое печатающее устройство (или АЦПУ, это
что-то вроде электрической печатной машинки с возможностью принимать
текстовые данные). Шрифт в АЦПУ один, моноширинный, псевдографики
нет. Однако nroff умеет даже на таком устройстве выделять текст
повышенной яркостью и подчеркиванием! Чтобы на печати буква выглядела
ярче, сразу после нее выводится символ Backspace (возврат печатающей
головки на одно _.
Третья стадия работы - вызов утилиты постраничного просмотра
текста more(1). Подобие more, лишенное всех функций, кроме главной,
можно найти даже в DOS. Во многих современных системах вместо more
используется более мощная утилита less(1). Говорят: "Less is more
than more". Утилита позволяет просматривать простой текст и текст,
выходящий из-под nroff, при этом используются возможности терминала:
"двойной удар" превращается в текст повышенной яркости, а
подчеркивание - в подчеркнутый. (В системе Solaris почему-то
вызывает more с ключом, запрещающим обрабатывать подчеркнутый текст,
отчего внешний вид руководства ухудшается. Исходные тексты утилиты more в Solaris недоступны, и приходится подменять ее командным
сценарием, в котором параметры командной строки передаются настоящей
утилите more уже поправленными.) Если вы хотите вывести руководство на
печать, причем не на АЦПУ, а на современный PostScript-принтер, лучше
не обрабатывать выдачу , а воспользоваться предназначенной для
этого утилитой troff(1). Получившаяся командная строка может быть,
например, такой:
zcat /usr/share/man/man1/man.1.gz |
troff -man -Tps | grops | lpr
Для каждой из этих утилит есть руководство, а о том, что такое " | "
("конвейер"), рассказано в лекции 11.
Самая краткая часть -
тоже играет очень важную роль в системе информационной поддержки.
Дело в том, что при установке руководства в систему содержимое этого , лежащий в базовом каталоге. Текстовый
файл - оглавление всей системы руководств, находящейся в
соответствующем каталоге. Если поискать некоторое слово в этом файле,
мы увидим только те заголовки руководств, в которых оно встречается.
Поиском ключевых слов в занимаются утилита и , которая ищет не целое слово, а просто подстроку в строке.
Вообще говоря, в .
Работоспособной такая система будет при строгом соблюдении О: только
поместив в это вместе с задают довольно
простой, но эффективный алгоритм работы с manpages.
Допустим, мы хотим слить два файла, left и right, в один, состоящий
из двух колонок (содержимое одного файла - слева, другого - справа).
Спрашиваем, в описании каких утилит есть слово column:
$ apropos column ...
Команда выдает несколько сотен строк, относящихся в основном,
к графическим функциям (секция 3). Нас же интересует утилита (секция
1). Используем grep(1), чтобы выбрать только строки, содержащие (1)
( начинается с
$ apropos column | grep "(1)" colrm(1) - remove columns from a file column(1) - columnate lists
Другое дело! Наверное, нам нужна утилита column? Читаем руководство.
$ man column ...
Не тут-то было... Смотрим
$ man column | colcrt | sed -n '/SEE ALSO/,/^$/p'
SEE ALSO
colrm(1), ls(1), paste(1), sort(1)
(В примере за нас все сделал UNIX. Как именно? Читайте руководство по colcrt и главу 14). Из полученного списка на подозрении одна только
команда paste
$ whatis paste paste(1) - merge corresponding or subsequent lines of files
Точно! Читаем руководство.
$ man paste ...
Вот и результат:
$ paste left right
Имейте в виду, что обращаться к опытному пользователю или системному администратору за справкой, которую можно было бы найти в руководстве, очень опасно! Это раздражает их сверх всякой меры, потому что является вопиющим нарушением и О, и И. Строго говоря, вы сами в состоянии ответить на свой вопрос, оставив коллегу решать задачи, соответствующие его уровню ответственности за систему. Для этого достаточно прочесть руководство. Так вы получите некоторый опыт поиска информации, что всегда полезно. Ответственный человек пойдет за советом, только если документация неполна или в информационной сети есть какая-то несвязность. А ну как ответственный администратор примется эту несвязность исправлять, а окажется, что на самом деле в руководстве все написано?
В UNIX-сообществе существует краткая формулировка единственно верного стиля поведения перед лицом еще не решенной задачи: . Вы можете услышать ее в качестве ответа на не слишком умный вопрос. В расшифрованном виде она читается так: Read Those Fine Manuals.
Альтернатива manpages - гипертекстовая система info(1). texinfo, разработанной GNU. У texinfo есть
масса преимуществ перед roff. Во-первых, из texinfo-документации
можно изготавливать не только info-файлы, но и документы в формате
HTML и XML, и даже настоящие книжки в формате TeX. Во-вторых, формат texinfo более новый, в нем существенно больше средств разметки,
индексирования текста, организации таблиц и т. п. В-третьих, в
отличие от , - система документирования, в которой на уровне
просмотра реализован переход по гипертекстовым
Структура info-документации опирается на понятия "
достаточно переместить текстовый
курсор при помощи клавиши Tab к нужному пункту enter,
чтобы перейти к соответствующему
Такая структура делает texinfo-документ пригодным для создания
разветвленной и подробной документации: учебника, статьи, содержащей
научные и исторические сведения, полного описания некоторой
прикладной системы и т. д. Авторы texinfo-документа - сами
разработчики этой системы, чаще всего независимой от какой-либо
операционной среды. Под этим углом зрения можно рассматривать
сообщество GNU, в котором документирование при помощи texinfo
считается стандартом. Однако именно по причине независимости включать
info-страницы в общее информационное пространство определенной ОС
бывает затруднительно.
Тем самым texinfo занимает иную экологическую нишу, нежели :
документирование больших, сложных и замкнутых проектов. Для того
чтобы поместить такую документацию в общий внутрисистемный
информационный контекст, не нужно перелопачивать ее всю, в
руководстве достаточно указать только основные принципы работы с
установленным пакетом и поместить
Многим пользователям, незнакомым с текстовым редактором GNU Emacs,
набор клавиш, управляющих утилитой , представляется несколько
неестественным. Можно использовать пакет pinfo, который занимается
тем же, что и , но навигация в нем устроена более привычным
образом.
К сожалению, авторы небольших программных продуктов частенько ленятся
писать документацию в формате , отделываясь простыми текстами или
html-файлами. Кроме того, система и многие пакеты содержат
разнообразную неклассифицируемую документацию (статьи, вопросники,
howto и пр.). Все это следует искать в каталоге /usr/share/doc/имя-пакета (в случае BSD - еще и в /usr/local/share/doc/имя-пакета, в некоторых системах - /opt/имя-пакета/share/doc, см. главу 13). Но будьте настороже: если
вы нашли в пакете только текстовую документацию, но не увидели ни
man-, ни info-страниц, значит, автор пакета мог и еще где-нибудь
полениться довести свое детище до ума. Отсутствие документации в
общей схеме нарушает связность информационного пространства системы и
противоречит тем самым И.
Как уже неоднократно отмечалось, аккуратная документация -
непременная составная часть проективной системы. Согласно И, все, что
пользователю о системе неизвестно, должно быть доступно изучению и
включено в нее. Согласно У, информация, которую придется пересмотреть
в процессе изучения, должна содержать все, что относится к делу, но
не более. Чтобы по всякому поводу не приниматься изучать систему
целиком, надо предусмотреть средство ограничения контекста,
позволяющее выбирать документацию по теме. Выходит, что документацией
по какой-нибудь утилите не могут служить, скажем, технические
замечания, Changelog (он же Whatsnew ) и даже README, включаемые в
исходные тексты данной утилиты. Это, условно говоря, документация для
программистов (точнее - для тех, кто будет улучшать или исправлять
саму утилиту). Нас же интересует документация для пользователей (т.
е. для тех, кому утилита понадобится в работе). К тому же описание
утилиты и способов ее применения должно быть дополнено некоторой
задающей контекст информацией: для чего утилита, чем она пользуется,
что еще стоит почитать. Если речь идет о внушительных размеров
пользовательском прикладном пакете, которым не пользуются другие
части системы, стоит рассматривать сам этот пакет как систему, внутри
которой опять-таки требуется ограничивать контекст, дабы не изучать
ее целиком (так устроена, например, документация по Tcl/Tk ).
Исторически первая, главная и наиболее сбалансированная система
документации в UNIX называется "
. Например, команда man man выдаст руководство по самой
этой утилите, которое можно просмотреть постранично, перелистывая
страницы клавишей "пробел". Если вы пользуетесь каким-нибудь
инструментом UNIX, но еще не читали его руководства, прочитайте
непременно! Хотя бы для того, чтобы иметь представление обо всех его
возможностях. Руководства есть не только у каждой утилиты системы, но
и у многих других объектов. Согласно И, информационная подсистема
должна давать достаточно сведений для самостоятельного решения любых
принципиально разрешимых задач, а значит, описания нужны и структурам
данных, и средствам интеграции, и простейшим приемам работы с
системой. Все
fortune );В некоторых версиях UNIX добавляется девятый
Все грамотно написанные baby. Помимо прочего, в нем аккуратно расписаны все
основные
- содержит только имя объекта и его очень краткое,
на одну строку, описание - суть всего руководства, поэтому
очень важно, чтобы описание, при всей краткости, давало полную и
четкую картину описываемого.
описывает общий вид использования объекта. Например, в
случае утилиты оно представляет собой командную строку со всеми
возможными параметрами должны быть представлены все
варианты использования; для этого разработан даже специальный язык
сокращений. Например, квадратные скобки обозначают необязательность
параметра, фигурные - выбор одного параметра из списка (тогда они
разделяются символами " | "), многоточие - повторение и т. д. Тем не
менее - тоже очень краткое
содержит развернутое описание объекта. Сюда попадает
любая разъяснительная информация: принципы работы данной утилиты или
функции, назначение и общая структура данного системного файла,
описание внешних устройств, соответствующих данному драйверу и т. п
довольно пространно, перечень возможных параметров командной строки
(иными словами, ключей ) с подробным изложением того, как и зачем их
применять, выносят в OPTIONS. Если работа инструмента зависит от
каких-либо переменных окружения (см. лекцию 17), их список помещается
в ENVIRONMENT.
Функция или системный вызов, как правило, возвращают какое-нибудь
значение. По окончании работы утилиты вырабатывается так называемый код возврата (или код ошибки, который не равен нулю в случае
неудачного завершения работы). Наконец, функция или системный вызов
могут завершиться с разными видами ошибок. Для описания результатов
работы в руководствах имеются RETURN VALUES, DIAGNOSTICS и ERRORS соответственно.
Иногда использование объекта невозможно или некоторый, на первый
взгляд очевидный путь его применения приводит к неочевидным
последствиям. Тогда стоит поместить примеры такого рода ситуаций в CAVEATS. Небольшие примеры успешного использования объекта с
описанием решаемой в них задачи приводятся в EXAMPLES, а
типичные ошибки при работе с объектом, равно как и недочеты в его
реализации, - в BUGS.
, даже если на них
нет руководства руководства, и
узнать, откуда этот инструмент взял дополнительные данные и что
изменил. . В него включаются ,
после имени объекта в скобках указывается номер раздела, в котором
стоит искать руководство.
На самом деле структура руководства совсем не такая жесткая, как это
может показаться из нашего описания. Зачастую даже хотелось бы, чтобы
она была пожестче (например, чтобы ключи утилит всегда выносились в
отдельное OPTIONS или чтобы EXAMPLES присутствовало
всегда). Вполне допустимо вводить новые COMMANDS - для команд с клавиатуры, COMPATIBILITY - для описания
совместимости с предыдущими версиями и т. п.); ненужные
Нередко в руководство включается HISTORY, где кратко
описывается, когда в какой именно системе впервые появился объект и
как он впоследствии развивался. Сведения об авторах, адрес, куда
присылать жалобы и предложения (электронный и обычный) и прочую
контактную информацию помещают в AUTHORS.
Бывают объекты с одинаковыми именами, но принадлежащие разным passwd, позволяющая пользователю менять
пароль, и файл passwd, в котором хранится учетная запись пользователя
(по иронии судьбы в современных версиях UNIX именно пароля там и
нет). Для того чтобы посмотреть руководство по passwd из пятого man 5 passwd, а если вам
неизвестно, к какому man -a passwd (тогда
вы увидите руководства по всем объектам с именем passwd ). При passwd(1) и passwd(5).
В каждом intro, руководство по
которому описывает назначение этих руководств помещаются security(7) ).
Тем не менее сеть sed ), и указать на то, что существует
некий предмет рассмотрения, с которым этот объект связан
(автоматическая обработка текстов). Причем указание это делается не
напрямую, а путем ссылок на иные объекты, тоже относящиеся к делу.
Руководство - это справочник; его читают, когда имеют представление о
том, что делать, но не знают в точности - как.
Во-вторых, У требует, чтобы при решении некоторой задачи открывающийся информационный контекст был по возможности минимален. Должен быть способ отсекать те области знания, которые не имеют отношения к текущей задаче. И вот с этой точки зрения любые дидактические надстройки над справочником - ненужный шум и, следовательно, вред.
В-третьих, учебникам, "рецептурным книгам" (cookbook) и прочим документам иного формата и назначения в UNIX отведено свое место, поэтому никакой необходимости закладывать все возможные свойства документации в одну подсистему нет.
Первое, что бросается в глаза, - это ее совершенно естественное
происхождение. Трудно поверить, что создатели этой структуры
потратили много времени на ее измышление, штудируя труды по
эргономике, проектированию систем, на соседнем терминальном
устройстве (виртуальной консоли или X-терминале). К тому же
технически переход по некоторым видам ссылок реализовать не так
просто, как это предлагают, скажем, средства просмотра HTML, где
используются только контекстные гиперссылки.
. Этот вид ссылок определяет область действия
инструмента, т. е. определяет не смысловую, а актуальную, действующую
связь.
должна находиться
AUTHORS, HISTORY, AVAILABILITY и т. п. Эти
Особую роль в руководстве играет . Состоит оно
обыкновенно из информационно нагруженных контекстных или заключается в создании контекста
вокруг описываемого объекта, или, как было сказано выше, в указании предмета рассмотрения путем перечисления относящихся к делу объектов.
Используемые в таком качестве ссылки можно называть слишком много наименований) и т. д. Во многих случаях
руководство - главный источник актуальной информации об объекте,
поэтому, согласно И, чем лучше руководство, тем лучше сам объект, так
как он чаще и правильнее используется.
Утилита man(1) - составная, ее вызов - это последовательное
выполнение трех операций: поиск
Сами страницы помощи - это файлы, имена которых включают имена
объектов (об этом будет подробнее рассказано в лекции 13). Файлы
расположены в некотором базовом каталоге (например, в /usr/share/man
или в /usr/X11R6/share/man ) в подкаталогах man1, man2 и т. д. по
количеству без
указания man 8.
Во многих системах compress(1) или gzip(1), так что перед форматированием страница
распаковывается. Руководства хранятся в формате ROFF. Это специальный
язык разметки текста для представления его в виде документа. Первые
его версии появились аж в начале 60-х, еще до рождения UNIX, а после
его многократно расширяли и совершенствовали разработчики UNIX и GNU
(наиболее популярная на сегодня версия этой системы документирования
называется GNU roff, или groff(1) ). В отличие от Д. Кнута, автора
системы TeX (кстати, ), авторы ROFF
не имели целью создать язык разметки полноценной книги.
Им нужно было подготовить систему документирования, продукт которой
одинаково хорошо смотрелся бы и в полиграфическом исполнении, и на
простейшем устройстве вывода текстов (например, алфавитно-цифровом терминале, см. лекцию 8). В ROFF включены все необходимые средства, использует утилиту nroff, которая форматирует ROFF-документ для
выдачи его на алфавитно-цифровое печатающее устройство (или АЦПУ, это
что-то вроде электрической печатной машинки с возможностью принимать
текстовые данные). Шрифт в АЦПУ один, моноширинный, псевдографики
нет. Однако nroff умеет даже на таком устройстве выделять текст
повышенной яркостью и подчеркиванием! Чтобы на печати буква выглядела
ярче, сразу после нее выводится символ Backspace (возврат печатающей
головки на одно _.
Третья стадия работы - вызов утилиты постраничного просмотра
текста more(1). Подобие more, лишенное всех функций, кроме главной,
можно найти даже в DOS. Во многих современных системах вместо more
используется более мощная утилита less(1). Говорят: "Less is more
than more". Утилита позволяет просматривать простой текст и текст,
выходящий из-под nroff, при этом используются возможности терминала:
"двойной удар" превращается в текст повышенной яркости, а
подчеркивание - в подчеркнутый. (В системе Solaris почему-то
вызывает more с ключом, запрещающим обрабатывать подчеркнутый текст,
отчего внешний вид руководства ухудшается. Исходные тексты утилиты more в Solaris недоступны, и приходится подменять ее командным
сценарием, в котором параметры командной строки передаются настоящей
утилите more уже поправленными.) Если вы хотите вывести руководство на
печать, причем не на АЦПУ, а на современный PostScript-принтер, лучше
не обрабатывать выдачу , а воспользоваться предназначенной для
этого утилитой troff(1). Получившаяся командная строка может быть,
например, такой:
zcat /usr/share/man/man1/man.1.gz |
troff -man -Tps | grops | lpr
Для каждой из этих утилит есть руководство, а о том, что такое " | "
("конвейер"), рассказано в лекции 11.
Самая краткая часть -
тоже играет очень важную роль в системе информационной поддержки.
Дело в том, что при установке руководства в систему содержимое этого , лежащий в базовом каталоге. Текстовый
файл - оглавление всей системы руководств, находящейся в
соответствующем каталоге. Если поискать некоторое слово в этом файле,
мы увидим только те заголовки руководств, в которых оно встречается.
Поиском ключевых слов в занимаются утилита и , которая ищет не целое слово, а просто подстроку в строке.
Вообще говоря, в .
Работоспособной такая система будет при строгом соблюдении О: только
поместив в это вместе с задают довольно
простой, но эффективный алгоритм работы с manpages.
Допустим, мы хотим слить два файла, left и right, в один, состоящий
из двух колонок (содержимое одного файла - слева, другого - справа).
Спрашиваем, в описании каких утилит есть слово column:
$ apropos column ...
Команда выдает несколько сотен строк, относящихся в основном,
к графическим функциям (секция 3). Нас же интересует утилита (секция
1). Используем grep(1), чтобы выбрать только строки, содержащие (1)
( начинается с
$ apropos column | grep "(1)" colrm(1) - remove columns from a file column(1) - columnate lists
Другое дело! Наверное, нам нужна утилита column? Читаем руководство.
$ man column ...
Не тут-то было... Смотрим
$ man column | colcrt | sed -n '/SEE ALSO/,/^$/p'
SEE ALSO
colrm(1), ls(1), paste(1), sort(1)
(В примере за нас все сделал UNIX. Как именно? Читайте руководство по colcrt и главу 14). Из полученного списка на подозрении одна только
команда paste
$ whatis paste paste(1) - merge corresponding or subsequent lines of files
Точно! Читаем руководство.
$ man paste ...
Вот и результат:
$ paste left right
Имейте в виду, что обращаться к опытному пользователю или системному администратору за справкой, которую можно было бы найти в руководстве, очень опасно! Это раздражает их сверх всякой меры, потому что является вопиющим нарушением и О, и И. Строго говоря, вы сами в состоянии ответить на свой вопрос, оставив коллегу решать задачи, соответствующие его уровню ответственности за систему. Для этого достаточно прочесть руководство. Так вы получите некоторый опыт поиска информации, что всегда полезно. Ответственный человек пойдет за советом, только если документация неполна или в информационной сети есть какая-то несвязность. А ну как ответственный администратор примется эту несвязность исправлять, а окажется, что на самом деле в руководстве все написано?
В UNIX-сообществе существует краткая формулировка единственно верного стиля поведения перед лицом еще не решенной задачи: . Вы можете услышать ее в качестве ответа на не слишком умный вопрос. В расшифрованном виде она читается так: Read Those Fine Manuals.
Альтернатива manpages - гипертекстовая система info(1). texinfo, разработанной GNU. У texinfo есть
масса преимуществ перед roff. Во-первых, из texinfo-документации
можно изготавливать не только info-файлы, но и документы в формате
HTML и XML, и даже настоящие книжки в формате TeX. Во-вторых, формат texinfo более новый, в нем существенно больше средств разметки,
индексирования текста, организации таблиц и т. п. В-третьих, в
отличие от , - система документирования, в которой на уровне
просмотра реализован переход по гипертекстовым
Структура info-документации опирается на понятия "
достаточно переместить текстовый
курсор при помощи клавиши Tab к нужному пункту enter,
чтобы перейти к соответствующему
Такая структура делает texinfo-документ пригодным для создания
разветвленной и подробной документации: учебника, статьи, содержащей
научные и исторические сведения, полного описания некоторой
прикладной системы и т. д. Авторы texinfo-документа - сами
разработчики этой системы, чаще всего независимой от какой-либо
операционной среды. Под этим углом зрения можно рассматривать
сообщество GNU, в котором документирование при помощи texinfo
считается стандартом. Однако именно по причине независимости включать
info-страницы в общее информационное пространство определенной ОС
бывает затруднительно.
Тем самым texinfo занимает иную экологическую нишу, нежели :
документирование больших, сложных и замкнутых проектов. Для того
чтобы поместить такую документацию в общий внутрисистемный
информационный контекст, не нужно перелопачивать ее всю, в
руководстве достаточно указать только основные принципы работы с
установленным пакетом и поместить
Многим пользователям, незнакомым с текстовым редактором GNU Emacs,
набор клавиш, управляющих утилитой , представляется несколько
неестественным. Можно использовать пакет pinfo, который занимается
тем же, что и , но навигация в нем устроена более привычным
образом.
К сожалению, авторы небольших программных продуктов частенько ленятся
писать документацию в формате , отделываясь простыми текстами или
html-файлами. Кроме того, система и многие пакеты содержат
разнообразную неклассифицируемую документацию (статьи, вопросники,
howto и пр.). Все это следует искать в каталоге /usr/share/doc/имя-пакета (в случае BSD - еще и в /usr/local/share/doc/имя-пакета, в некоторых системах - /opt/имя-пакета/share/doc, см. главу 13). Но будьте настороже: если
вы нашли в пакете только текстовую документацию, но не увидели ни
man-, ни info-страниц, значит, автор пакета мог и еще где-нибудь
полениться довести свое детище до ума. Отсутствие документации в
общей схеме нарушает связность информационного пространства системы и
противоречит тем самым И.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.