shell

Интерпретатор командной строки, или shell (shell — оболочка) — эта та программа, которая принимает команды от пользователя и исполняет их.
К функциям оболочки относятся:
Взаимодействие с пользователем (редактирование командной строки, история команд и т.д.).
Обработка (расширение) шаблонов имен («*», «?» и т.д.).
Перенаправление ввода/вывода команд.
Управление заданиями.
Кроме того, shell — это специализированный язык программирования, в котором есть переменные, конструкции while, if, for и т.д., функции и много чего еще. Он позволяет писать как несложные сценарии для автоматизации повседневных задач, так и довольно сложные программы (например, запуск и останов большинства Unix’ов производятся сценариями на языке shell).
Хотя работа непосредственно в командной строке (а не в оболочке типа NortonCommander или какой-нибудь оконной) на первый взгляд не столь удобна, она обеспечивает более удобный доступ к таким функциям, как перенаправление ввода/вывода и управление заданиями — оболочки типа Midnight Commander в этом случае будут только мешать. Все это нужно поскольку ядро не понимает команды, которые вы даете. Например, когда вы вводите «cd ..», эта команда будет переведена оболочкой на язык низкого уровня и передана ядру (в противном случае, для управления вашим CPU нужно быть как минимум сумасшедшим).
Вы представляете себе, каким болезненным занятием было бы использование
компьютера, не будь у вас оболочки? Чтобы что-то сделать вам пришлось бы
использовать язык низкого уровня, подобный ассемблеру или того похуже
(двоичный код). Для выполнения команды «cd ..» вам нужно было бы написать:
push mem put mem blabla mem или огромный список вида 00101010. Вы и правда
думаете, что люди согласились бы так работать? Я так не думаю. Ладно..ладно.. Есть много людей, программирующих на ассемблере, но я говорю об обычных людях.

Информация