В 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 подавляющее большинство «команд», которые делают полезные вещи, на самом деле являются внешними программами, которые «вызываются» оболочкой. И это основная цель оболочки - позволить оператору запускать программы с указанием аргументов для этих программ. Это не совсем язык программирования, это просто среда для запуска программ.