Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие_Unix.doc
Скачиваний:
4
Добавлен:
26.11.2019
Размер:
2.41 Mб
Скачать

1.5 Пользовательская среда Unix.

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

Интерпретатор является обычным процессом.

Это первая программа, с которой начинается работа пользователя.Основная инициализация ОС происходит в результате выполнения скриптов shell

Существуют несколько ком. интерпретаторов.

Sh (Bourn shell) Первоначальный к/и. Разработан Стивеном Борном в середине 70-х годов. Csh(c-shell). Разработана Биллом Джоем из Калифорнийского университета. Отличается улучшенными диалоговыми возможностями, способом присваивания и экспортирования переменных в среду, управляющими конструкциями и рядом других моментов; тоже поддерживает историю и редактирование командной строки Плохо поддерживает перенаправление ввода/вывода, мало пригодна для создания сложных сценариев.

Kshell(korn shell)Написана Дэвидом Корном (AT&T). Совместима с shell, но включает в себя многие средства cshell (поддержку псевдонимов, история команд, редактирование)

Bash (Bourne another shell) Произведена Free Software Foundation.

Свободно распространяемый в виде исходных текстов интерпретатор, называемый, объединяющий все лучшее из остальных интерпретаторов с удобными возможностями редактирования командной строки и работы с историей команд. В настоящее время - фактический стандарт.

Возможности соответствуют возможностям kshell, но распространяется бесплатно.

Tcsh (Tom c shell) Совместима с csh, но в ней устранены ошибки и усовершенствован интерфейс.

Сценарий работы

В ОС Unix реализуется следующий сценарий работы в системе

- при включении терминала активизируется процесс getty, который является сервером терминального доступа и запускает программу login, которая в свою очередь запрашивает у пользователя имя и пароль

- если пользователь зарегистрирован и ввел правильный пароль, login запускает программу, которая указана в последнем поле записи пользователя в файле /etc/passwd, т.е командный интерпретатор.

- командный интерпретатор выполняет командный файл инициализации и выдает на терминал пользователя приглашение. С этого момента пользователь может вводить команды

- командный интерпретатор считывает команды, выполняет действие или сообщает об ошибке

- по окончанию работы пользователь завершает работу, вводя команду exit.

Файл инициализации

Файл инициализации выполняет следующие функции

- устанавливает путь поиска программы

- инициализирует терминал

- определяет расположение почтового ящика

Командная строка

Запускаемые команды могут являться либо функциями, определенными пользователем, либо встроенными командами интерпретатора, либо исполняемыми файлами – прикладными программами и утилитами. В любом случае, синтаксис их вызова одинаков.

Общий вид командной строки

<имя команды> <опции> <аргументы>

Прежде чем выполнить команду интерпретатор выполняет следующие действия

- анализирует синтаксис и если обнаружена ошибка, выдает сообщение

- выполняет подстановки: заменяет все указанные имена переменных их значениями, формирует списки файлов, заменяя шаблоны

- делает соответствующие перенаправления ввода/вывода

- передает команде аргументы и выполняет ее.

Последовательность команд можно объединить в одном файле и выполнять его как обыкновенную команду. Такой файл будет называться сценарием командного процессора.