В Windows при открытии командной строки почти всегда работает запущенная программа cmd.exe. Это улучшенная производная NT от старой DOS-системы command.com, которая, в свою очередь, имеет сходство с еще более старым CCPинтерпретатором команд CP / M.
В Linux, как упоминает @Griffin, обычно вы используете bashкакой-то эмулятор терминала, если используете его в графической среде. (который может широко варьироваться в зависимости от вашего дистрибутива и рабочего стола). Это означает «Bourne Again SHell», потому что это расширенная версия более ранней оболочки «Bourne» ( sh), которая долгое время была стандартной в Unix. Там в других «альтернативных» снарядов общего пользования , таких как csh, kshи tcsh.
Windows также cmd.exeможно считать оболочкой (как можно explorer.exe).
Как в командной строке Windows, так и во всех оболочках Unix есть несколько «встроенных модулей», или команд, которые обрабатываются полностью внутри оболочки. Это включает в себя некоторые основные команды (такие как cd) и многие условные команды и операторы, которые управляют потоком сценариев, если выполняется командный файл команд.
Однако как в Linux, так и в Windows подавляющее большинство «команд», которые делают полезные вещи, на самом деле являются внешними программами, которые «вызываются» оболочкой. И это основная цель оболочки - позволить оператору запускать программы с указанием аргументов для этих программ. Это не совсем язык программирования, это просто среда для запуска программ.