Интерпретатор командной строки, или shell (shell — оболочка) — эта та программа, которая принимает команды от пользователя и исполняет их.
К функциям оболочки относятся:
Взаимодействие с пользователем (редактирование командной строки, история команд и т.д.).
Обработка (расширение) шаблонов имен («*», «?» и т.д.).
Перенаправление ввода/вывода команд.
Управление заданиями.
Кроме того, shell — это специализированный язык программирования, в котором есть переменные, конструкции while, if, for и т.д., функции и много чего еще. Он позволяет писать как несложные сценарии для автоматизации повседневных задач, так и довольно сложные программы (например, запуск и останов большинства Unix’ов производятся сценариями на языке shell).
Хотя работа непосредственно в командной строке (а не в оболочке типа NortonCommander или какой-нибудь оконной) на первый взгляд не столь удобна, она обеспечивает более удобный доступ к таким функциям, как перенаправление ввода/вывода и управление заданиями — оболочки типа Midnight Commander в этом случае будут только мешать.Shell — это не одна конкретная программа. Исторически существует несколько подвидов оболочек.