Подсистема ввода-вывода

 

Подсистема ввода-вывода обслуживает запросы файловой подсистемы и подсистемы управления процессами для доступа к периферийным устройствам (сетевые адаптеры, диски, терминалы …). Также она обеспечивает буферизацию и кеширование данных и взаимодействует с драйверами устройств – специальными модулями ядра непосредственно работающими с внешними устройствами.



Шеллы и основные команды HP-UX.

           2.1.1 Общее знакомство с шелами

           2.1.2 Смена шела

           2.2.1 Bourne Shell

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

Shell скрипты

Основы программирования на языке shell

Некоторые специальные команды

Общее знакомство с шелами

 

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

               

           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).

 

 

Смена шела

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

 

 echo $SHELL

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

 

$ ksh                                                         запуск Kourne Shell

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

    PID TTY  TIME COMMAND

       12320 pts/2 0:00 sh                     Bourne shell

       12322 pts/2 0:00 ksh                   Korn 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

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

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

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

 

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

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

 

Символ Функция Пример
< Перенаправление ввода из файла program < in_file
> Перенаправление вывода в файл program > out_file
>> Перенаправление вывода в файл с добавлением Program >> out_file

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

 

program1 | program2 | program3

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

 

       ls –l /etc | more

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

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: