Администрирование локальных сетей
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
ательский ввод и дает указания операционной системе выполнить те или иные действия. Шелл можно также рассматривать как язык программирования.
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.
- Основные возможности 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>