Почему интерпретатор командной строки cmd.exe не называется оболочкой?

Почему интерпретатор командной строки cmd.exe не называется оболочкой?

Я исследовал различные интерпретаторы командной строки и заметил, что интерпретатор Windows по умолчанию cmd.exeне упоминается как оболочка вСтраница Википедии. Практически все интерпретаторы командной строки Unix-подобных систем называются оболочками, но не cmd.exeбольшинство других интерпретаторов.

Есть ли для этого причина или «shell» — это просто обозначение интерпретаторов, принадлежащих Unix-подобным системам?

решение1

Оболочка - этоосновнойпользовательский интерфейс операционной системы. В Windows этот интерфейс GUI. Он используется explorer.exeкак "файловый менеджер", создает "нижнее меню", "окно папки" и управляет процессом открытия файла: при щелчке по файлу вызывается ShellExecuteфункция.

Итак, "shell" в Windows — это UI, а "cmd" — только для некоторых устаревших или специальных команд. В течение многих лет Microsoft считала, что GUI — лучший способ что-либо сделать.

В 2006 году они обнаружили, что оболочки Unix (bash, ksh, zsh) очень популярны среди системных администраторов, поэтому они изобрелиPowerShell: замена cmd на основе .net, которая очень крутая, особенно если использовать с последней версией Powershell ISE. Она называетсяоболочкапотому что его главная цель — стать «гражданином первого класса» для многих задач системного администратора. Любой современный серверный продукт Microsoft имеет командлеты, поэтому вы можете сделать почти все из PowerShell (без MMC).

Я не знаю, почему в эпоху MS-DOS они не использовали слово "Shell" для "command.com". Возможно, они позаимствовали терминологию из CP/M и назвали его "командным процессором".

Забавно: был недолговечный файловый менеджер с графическим интерфейсом "DOS Shell" для DOS. Он был снят с производства в версии 6.22, и большинство людей в то время использовали Norton Commander.

Связанный контент