Администрирование локальных сетей

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

ательский ввод и дает указания операционной системе выполнить те или иные действия. Шелл можно также рассматривать как язык программирования.

 

Bourne Shell. Это самый старейший из шелов который был написан Стэфаном Борном в Лаборатории Беэлла. Этот шелл является шелом по умолчанию для HP-UX пользователей и долгое время был стандартом де факто.

Bourne Shell не имеет в своем арсенале ни интерактивных возможностей ни сложных программных конструкций в отличии от С и Korn шеллов.

 

C Shell. Этот шел был разработан Биллом Джоем в Калифорнийском Университете Беркли. Его синтаксис имеет сходство с языком программирования С. Он также имеет интерактивный интерфейс например историю команд и раскрытие имен файлов.

 

Korn Shell. Он является относительно новым шелом разработанным Девидом Корном в Лаборатории Бэлла и является вверх совместимым с большинством возможностей Bourne Shell. Так же как и С shell он имеет интерактивные возможности, но выполняется быстрее имеет расширенные возможности редактирования командной строки.

 

POSIX shell. Этот шелл базируется на стандарте определенном в Portable Operation System Interface (POSIX) IEEE P1003.2. Этот стандарт был разработан для прикладных и системных программистов. Он фактически определяет стандарт на интерфейс операционной системы. Большинство возможностей POSIX Shell очень сильно схожи с аналогичными возможностями Korn Shell-a. Мы будем рассматривать оба этих шела едино, указывая лишь небольшие различия между ними. POSIX Shell имеет тоже имя что и Bourne Shell поэтому он помещен в /usr/bin/posix директорию в отличии от Bourne Shell, который находится в директории /usr/bin.

 

Key Shell. Это оболочка для Kourn Shell-a разработанная фирмой Hewlett-Packard. Она позволяет использовать меню и онлайн помощь помогая в построении команд и выполнению ряда часто встречаемых задач, таких как просмотр, редактирование и печать файлов, просмотр содержимого директории и.т.п. Построена она таким образом что пользователь может сам в дальнейшем

расширять ее возможности.

 

Bash. Название этого шела расшифровывается как Bourne Again Shell. Он бы разработан консорциумом Free Software Foundation и несмотря на то что по умолчанию он отсутствует в стандартной поставке HP-UX 10.20, в следствии своих мощных функциональных возможностей он пользуется огромной популярностью среди пользователей и администраторов HP-UX. Его интерпретатор команд совместим с Bourne Shell. Также он вместил в себе полезные возможности Korn C шеллов. Он разрабатывался в сооответствии со спецификациями IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2).

 

 

 

 

 

 

2.1.2 Смена шела

 

Для того чтобы определить Ваш системный шелл достаточно сразу после логина выполнить команду:

 

echo $SHELL

 

она показывает содержимое переменной SHELL в которую система прописывает Ваш шелл установленный по умолчанию. Для временной смены шела достаточно выполнить запуск желаемого шела в текущем:

 

$ kshзапуск Kourne Shell

$ psпечать списка процессов

PID TTY TIME COMMAND

12320 pts/2 0:00 shBourne shell

12322 pts/2 0:00 kshKorn Shell

12323 pts/2 0:00 ps

$ exitвыход из Korn Shell-a

 

Для постоянной смены шела устанавливаемого системой после входа (login shell) необходимо выполнить команду:

 

chsh

 

Замечание: список шелов доступных в системе для пользователей находится в файле /etc/shells

 

 

Bourne Shell.

 

  1. Основные возможности Shell.

 

Запуск шелла и выход из шелла

 

Для запуска Bourne Shell достаточно ввести sh в текущем шеле. Выход из шела возможен либо по команде exit либо введя в терминале символ коца файла Ctrl-D.

 

Последовательное выполнение команд.

 

Несколько команд можно последовательно выполнять разграничивая точкой с запятой. Например, фрагмент

 

$ who

$ ps ef

$ ls l

и

$ who; ps ef; ls -l

дадут полностью одинаковый результат.

 

Фоновое выполнение.

 

Запуск программы в фоновом режиме (без блокировки текущего шела) достигается добавлением в конец команды знака &

 

Перенаправление ввода-вывода.

 

Каждая запущенная программа имеет три ассоциированных канала: стандартный ввод, стандартный вывод и стандартный канал диагностики ошибок. По умолчанию стандартный ввод закреплен за клавиатурой а стандартный вывод и канал ошибок закреплены за монитором. Однако шелл позволяет связать эти каналы с файлами абсолютно прозрачно для выполняемой программмы, т.к. изменения вывода и ввода осуществляются на системном уровне. Примеры перенаправлений ввода-вывода:

 

СимволФункцияПример out_fileПайпы. Две или более программ могут быть объединены таким образом что результат одной программы попадет на вход другой. При этом данные от одной программы к другой следуют через програмный канал, например:

 

program1 | program2 | program3

 

или более реалистичный пример:

 

ls l /etc | more

 

Примечание: пайпы всегда работают лишь в одном направлении со стандартного выхода одной к стандартному входу другой программы.

 

Расширение имен файлов.

 

В целях уменьшения количества набираемых символов при вводе имен файлов шел поддерживает метасимволы. Нпример для того чтобы вывес?/p>