Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 семестр / ПОС / 3. Командная строка UNIX.doc
Скачиваний:
71
Добавлен:
28.03.2015
Размер:
228.35 Кб
Скачать

Командная оболочка как средство программирования

Большая часть того, что нужно начинающему пользователю UNIX, делается с помощью одной правильной команды, или вызовом нескольких команд в конвейере. От пользователя только требуется оформить решение задачи в виде сценария на shell. На самом же деле уже самый первый из командных интерпретаторов, sh, был настоящим высокоуровневым языком программирования – если, конечно, считать все утилиты системы его операторами. При таком подходе от sh требуется совсем немного: возможность вызывать утилиты, возможность свободно манипулировать результатом их работы и несколько алгоритмических конструкций (условия и циклы).

Программирование на shell, а также других, более мощных интерпретируемых языках в UNIX, остается за рамками этого курса.

Справочная подсистема

Работать с UNIX, не заглядывая в документацию, практически невозможно. Это возможно, потому что документированы практически все области операционной системы. Всем пользователям настоятельно рекомендуется, приступая к работе, а тем более – к изучению UNIX, пользоваться всеми доступными руководствами. Исторически первым и основным средством документации во всех версиях являются страницы руководства (manual pages).

Документация в подавляющем большинстве случаев пишется на простом английском языке. Необходимость писать на языке, который будет более или менее понятен большинству пользователей, объясняется постоянным развитием UNIX. Дело не в том, что страницу руководства нельзя перевести, а в том, что ее придется переводить всякий раз, когда изменится описываемый ею объект! Например, выход новой версии программного продукта сопровождается изменением его возможностей и особенностей работы, а следовательно, и новой версией документации.

Документация в UNIX играет важнейшую роль. Решение любой задачи должно начинаться с изучения руководств. Современные свободные UNIX-системы обладают большим сообществом пользователей и разработчиков, объединённых через Интернет. В этих сообществах является нормальной практикой взаимопомощь и ответы на вопросы по системе.

Страницы руководства

Больше всего полезной информации содержится в страницах руководства, для краткости мы будем называть их просто «руководство». Каждая страница посвящена какому-нибудь одному объекту системы. Для того чтобы посмотреть страницу руководства, нужно дать команду системеman объект:

user@desktop ~ $ man cal

CAL(1) BSD General Commands Manual CAL(1)

NAME

cal - displays a calendar

SYNOPSIS

cal [-smjy13] [[month] year]

DESCRIPTION

Cal displays a simple calendar. If arguments

are not specified, the current month is

displayed.

The options are as follows:

...

Страница руководства состоит из полей – стандартных разделов, с разных сторон описывающих заинтересовавший объект – например, команду cal. В поле NAME содержится краткое описание объекта (такое, чтобы его назначение было понятно с первого взгляда). В поле SYNOPSIS дается формализованное описание способов использования объекта (в данном случае – того, как и с какими параметрами запускать командуcal). Как правило, в квадратные скобки в этом поле заключены необязательные параметры команды, которые можно ей передать, а можно и опустить. Например, строка «[[month] year]» означает, что в этом месте командной строки параметров у команды может не быть вообще, может быть указан год или пара – месяц и год. Наконец, текст в поле DESCRIPTION – это развернутое описание объекта, достаточное для того, чтобы им воспользоваться.

Одно из самых важных полей руководства находится в конце текста. Если в процессе чтения NAME или DESCRIPTION пользователь понимает, что не нашел в руководстве того, что искал, он может захотеть посмотреть, а есть ли другие руководства или иные источники информации по той же теме. Список таких источников содержится в поле SEE ALSO:

user@desktop ~ $ man man

...

SEE ALSO

apropos(1), whatis(1), less(1), groff(1), man.conf(5).

Справочные руководства делятся на разделы – в зависимости от типа описываемых объектов. Если один и тот же термин описывается в нескольких разделах, необходимо явно указать, какой из них использовать, например, man 3 printfдля 3-го раздела руководств.

Всего существует 8 разделов руководств:

  1. пользовательские утилиты и прочие инструменты

  2. системные вызовы

  3. библиотечные функции

  4. внешние устройства (и их представление в системе)

  5. форматы и таблицы (типы файлов, протоколы и прочее)

  6. игры и всевозможные «ненужные» утилиты

  7. «остальное», т. е. то, что не подходит под другие разделы

  8. команды и инструменты системного администратора