Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен по курсу ОСс и ОСТ20081.doc
Скачиваний:
7
Добавлен:
28.09.2019
Размер:
1.57 Mб
Скачать

33. Интерфейс пользователя с ос unix (уровень командной строки). Общий механизм выполнения команд.

Командапоследовательность слов после приглашения ($), разделённых пробелами (первое словоимя команды, остальныеопции и аргументы).

Помимо одиночных команд выполняются shell-процедуры (команды, написанные на соответствующем языке – файл сценария, скрипт) – используются при загрузке ОС.

/bin – большое количество shell-процедур.

1) Командная строка в языке shell - это последовательность слов, разделенных пробелами. Первое определяет имя команды, которая будет выполняться, оставшиеся слова передаются команде в качестве аргументов.

2) Командный интерпретатор интерпретирует команды, т.е. выполняет их непосредственно (без предварительной компиляции). Он обрабатывает команды, вводимые пользователем в командной строке, а также скрипты (shell-процедуры), т.е. заранее подготовленных последовательностей команд, хранящиеся в текстовом виде.

3) Скрипты играют в ОС Unix куда более важную роль, чем командные файлы в Windows и Dos. Например, из более чем 1000 команд в каталоге /usr/bin примерно1/4 являются скриптами того или иного вида, а количество вспомогательных скриптов, используемых разными программами для внутренних нужд и не предназначенных для обычных пользователей, вообще не поддаётся учёту.

4) На скрипты ложится и большая часть работы по запуску ОС.

5) А если требуется автоматизировать какие-либо действия, то самый простой способ - написать несложный скрипт.

6) В любой полноценной версии ОС UNIX имеется несколько командных интерпретаторов (обычно не менее 3). Плюс ещё 3-4 языка скриптов, не используемых в командной строке (perl, python, …). И это не считая «мини-языков» типа sed, awk.

Команды, выполняемые shell, можно разделить на 2 типа: 1) внешние; 2) внутренние.

Процедуры реализации внешних команд представлены в виде отдельных исполняемых файлов, внутренние команды находятся внутри самого shell. Выделив из введённой строки имя команды, shell сначала проверяет не является ли она внутренней, и только если это не так, приступает к поиску соответствующего файла. При выполнении внешней команды порождается отдельный процесс, а при внутренних – нет. Не следует давать своим выполняемым файлам имена внутренних команд. В противном случае вызов этих команд будет сопряжён с трудностями.

Внутренняя команда type позволяет выяснить тип команды. Структура команды type: $type_имя команды.

34. Интерфейс пользователя с ос unix (уровень командной строки). Файлы, ассоциированные с процессом.

К

1

ак правило, с каждым процессом в ОС UNIX ассоциированы по крайней мере 3 файла. Этими файлами являются:

* файл с дескриптором 0 - стандартный ввод

* файл с дескриптором 1 - стандартный вывод (выводятся результаты работы процесса)

* файл с дескриптором 2 - стандартная диагностика (диагностические сообщения)

По умолчанию стандартный ввод назначен на клавиатуру, а вывод и диагностика на экран. Эти назначения можно изменить($history> abcd).