next up previous contents
Next: Шаблоны имен файлов Up: Учебник по системе Linux Previous: Исследование файловой системы

Типы командных оболочек

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

Многие возможности из тех, которые будут описаны в этом разделе, предоставляются самой командной оболочкой. Важно не путать систему Linux (операционную систему) с одной из командных оболочек. Командная оболочка является всего лишь интерфейсом к операционной системе и предоставляет дополнительные возможности к тем, что предоставляет сама система Linux.

  Командная оболочка является не только интерпретатором команд, которые вводятся в интерактивном режиме, но также и мощным языком программирования. С помощью командных оболочек можно выполнять скрипты командных оболочек (shell scripts). В скриптах несколько команд оболочки объединяются в один пакет ("batch"). Скрипты командных оболочек системы Linux имеют аналогию с командными файлами ("batch files") системы MS-DOS. Скрипты являются очень мощным средством, с помощью которого можно автоматизировать и сделать более удобным использование системы Linux. Более подробная информация дана в разд. 3.14.1.

                В системах Linux имеется несколько типов командных оболочек. Два основных типа называются "Bourne shell" и "C shell". Оболочка Bourne shell использует такой же синтаксис команд, какой использовался в самых первых системах UNIX, таких как System III. Исполняемым файлом оболочки Bourne shell в большинстве версий систем Linux является /bin/sh (где sh является сокращением от "shell" -- оболочка). Оболочка C shell использует иной синтаксис, чем-то напоминающий язык программирования C. В большинстве систем Linux исполняемым файлом этой оболочки будет /bin/csh.

                    В системе Linux имеются несколько вариантов указанных командных оболочек. Наиболее употребительным является вариант Bourne Again Shell или "Bash" (файл /bin/bash), а также "Tcsh" (файл /bin/tcsh). Оболочка bash является модификацией оболочки Bourne shell, в которую включено много развитых функций из оболочки C shell. Поскольку синтаксис оболочки bash содержит в качестве подмножества синтаксис оболочки Bourne shell, скрипты, написанные для стандартной оболочки Bourne shell, будут работать и с ее модификацией bash. Если вы предпочитаете использовать синтаксис, основанный на языке программирования C, то можно воспользоваться оболочкой tcsh, которая является расширенной версией исходной оболочки C shell.

Выбор типа оболочки является вопросом вкуса. Некоторая разница заключается в том, что синтаксис оболочек, основанных на языке C, более структурирован. Для обычных команд, таких как cp или ls, тип используемой командной оболочки не имеет значения -- синтаксис будет одинаковым. Только когда вы начнете самостоятельно писать скрипты или использовать некоторые развитые возможности командных оболочек, разница между ними начнет играть роль.

В дальнейшем, при обсуждении свойств различных командных оболочек, мы отметим разницу между упомянутыми оболочками. Однако, с учетом тех целей, которые ставит данная книга, большинство этих различий минимально. Если вы действительно интересуетесь различиями между командными оболочками, вам следует почитать экранную документацию к командам bash и tcsh.

 


next up previous contents
Next: Шаблоны имен файлов Up: Учебник по системе Linux Previous: Исследование файловой системы

root
Sun Aug 29 12:01:30 MSD 1999