5.1. Что такое оболочка?

5.1. Что такое оболочка?

Как уже упоминалось выше, хотя мы часто говорим, что "пользователь работает с операционной системой", фактически это не верно, поскольку на деле взаимодействие с пользователем организует специальная программа. Существует два вида таких программ - оболочка, или shell, для работы в текстовом режиме (интерфейс командной строки) и графический интерфейс пользователя GUI (Graphical User Interface), организующий взаимодействие с пользователем в графическом режиме.

Сразу надо сказать, что в принципе любая программа в Linux может быть запущена как через оболочку (если запущен X-сервер, см. гл. 6), так и через графический интерфейс пользователя. Запуск программ из оболочки эквивалентен (двойному) щелчку мышкой по иконке программы в GUI. Передача аргументов программе в текстовом режиме аналогична тому, что мы "бросаем" что-то на иконку программы в графическом. Но, с другой стороны, некоторые программы не приспособлены для запуска через GUI и, соответственно, могут быть исполнены, только из командной строки.

Собственно говоря, название "оболочка" не выдерживает критики. На мой взгляд правильнее было бы называть эту программу командным процессором, как называют command.com в MS DOS, или интерпретатором команд. Но так уж повелось во всех UNIX-системах, что интерпретатор команд для текстового режима называют оболочкой.

Когда-то (в первых UNIX-системах) это была программа с именем sh, которое было сокращением от shell. Потом были разработаны несколько ее улучшенных вариантов, в частности, Bourne shell - расширенная версия sh, написанная Стивом Борном (Steve Bourne). В рамках проекта GNU (проект Р.Столлмана по разработке свободного ПО, см. www.gnu.org) была создана оболочка bash, название которой расшифровывается как Bourne-again shell, т. е. "снова оболочка Борна". По-английски в этом названии просматривается еще и игра слов, связанная с тем, что Bourne звучит как borne (рождаться, рожденный), и получается "заново рожденная shell". Оболочка bash была написана Брайеном Фоксом (Brian Fox - основной разработчик) и Четом Рэми (Chet Ramey). Именно bash мы и будем далее рассматривать, и всюду ниже, где говорится об оболочке вообще, вы смело можете считать, что речь идет о bash.

Сама по себе оболочка bash не выполняет никаких прикладных задач. Но она обеспечивает выполнение всех приложений: нахождение вызываемых программ, их запуск и организацию ввода/вывода. Кроме того, оболочка отвечает за работу с переменными окружения и выполняет некоторые преобразования (подстановки) аргументов. Но главное свойство оболочки, которое делает ее мощным инструментом пользователя - это то, что она включает в себя простой язык программирования. Как давно доказано в математике, любой алгоритм можно построить из пары-тройки основных операций и одного условного оператора. Реализацию условных операторов (а также операторов цикла) и берет на себя оболочка. Она использует все остальные утилиты и программы (и те, которые имеются в составе операционной системы, и те, что устанавливаются отдельно) как базовые операции поддерживаемого ею языка программирования, обеспечивает передачу им аргументов, а также передачу результатов их работы другим программам или пользователю. В результате получается очень мощный язык программирования. И в этом основная сила и одна из существенных функций оболочки.

Прежде чем читать дальше этот раздел, вернитесь ненадолго к разд. 3.4 и еще раз просмотрите основные комбинации клавиш, используемые для управления вводом в текстовом режиме. Вспомните по крайней мере то, как пользоваться клавишами ‹Ctrl›+‹C›, ‹Ctrl›+‹D›, ‹Tab› и клавишами со стрелками.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Глава 5. Оболочка bash

Из книги автора

Глава 5. Оболочка bash В этой главе мы рассмотрим работу с системой Linux в текстовом режиме, другими словами, с консоли или терминала. Начинающему пользователю может казаться, что он никогда не будет работать в этом режиме, поскольку существует графический режим. Однако это


3.4. Командная оболочка. Bash

Из книги автора

3.4. Командная оболочка. Bash Важнейшим из пользовательских процессов является командная оболочка (она же командный интерпретатор, или просто shell). Именно она обеспечивает взаимодействие пользователя с системой в текстовом режиме, позволяя вводить команды. Именно она


Оболочка

Из книги автора

Оболочка Данный раздел содержит параметры, изменение которых влияет на скорость работы интерфейса, внешнее оформление основных элементов интерфейса, таких как меню Пуск, Панель задач и т. д. (рис. 24.17). Рис. 24.17. Содержимое подраздела Проводник Windows раздела ОболочкаВсе


Оболочка

Из книги автора

Оболочка Теперь рассмотрим команды rundll32.exe, предназначенные для взаимодействия с пользователем. Раньше при описании файла inetcpl.cpl уже упоминались такие команды, но, кроме них, существует также некоторое количество команд, предоставляемых стандартными библиотеками


Оболочка

Из книги автора

Оболочка На самом деле настроек браузера, доступ к которым нельзя получить с помощью диалоговых окон, не очень много, поэтому глава будет небольшой. Но она будет, и начнется, как и все другие главы книги, c рассмотрения настроек оболочки.В рассказе о настройках оболочки


Оболочка

Из книги автора

Оболочка Как обычно, все параметры реестра будут разделены на два типа — те, что изменяют оболочку программы Outlook Express, и те, что определяют конфигурацию Outlook Express. И, конечно же, сначала рассмотрим некоторые параметры, относящиеся к настройке оболочки почтового клиента.


Проводник и оболочка Windows

Из книги автора

Проводник и оболочка Windows Оболочка Windows Надоел Проводник в качестве оболочки Windows? Можно поставить любую программу, которая будет служить в качестве такой оболочки, например, progman.exe, входящий в стандартную поставку Windows. Для этого поменяйте значение параметра °Shell° на


Оболочка Windows

Из книги автора

Оболочка Windows Надоел Проводник в качестве оболочки Windows? Можно поставить любую программу, которая будет служить в качестве такой оболочки, например, progman.exe, входящий в стандартную поставку Windows. Для этого поменяйте значение параметра °Shell° на progman.exe в разделе


Оболочка

Из книги автора

Оболочка При создании оболочки (рис. 18.12) команду редактирования SOLIDEDIT следует вызывать из падающего меню Modify ? Solid Editing ? Shell либо щелчком на пиктограмме Shell на плавающей панели инструментов Solid Editing. В команде используются ключи Body, Shell и выдаются следующие запросы: Solids editing


Оболочка

Из книги автора

Оболочка При создании оболочки команду редактирования SOLIDEDIT следует вызывать из падающего меню Modify ? Solid Editing ? Shell либо щелчком на пиктограмме Shell на плавающей панели инструментов Solid Editing. В команде используются ключи Body, Shell и выдаются следующие запросы:Solids editing automatic


Оболочка

Из книги автора

Оболочка При создании оболочки (рис. 20.12) команду редактирования SOLIDEDIT следует вызывать из падающего меню Modify ? Solid Editing ? Shell либо щелчком на пиктограмме Shell на плавающей панели инструментов Solid Editing. В команде используются ключи Body, Shell и выдаются следующие


Оболочка из классов для OLE

Из книги автора

Оболочка из классов для OLE Рационализация OLEПеревод А. И. ЛегаловаАнглоязычный оригинал находится на сервере компании Reliable


2.3. Оболочка Windows Vista

Из книги автора

2.3. Оболочка Windows Vista Немаловажной частью операционной системы является оболочка, которая по странному стечению обстоятельств также представляет собой Проводник операционной системы, описанный выше. Сейчас мы рассмотрим некоторые возможности настройки элементов этой