Shell является основным пользовательским интерфейсом операционной системы. В Windows этот интерфейс является графическим интерфейсом. Он использует explorer.exe
качестве "файлового менеджера", создает "нижнее меню", "окно папки" и контролирует процесс открытия файла: при нажатии на файл вызывается функция ShellExecute
.
Таким образом, "оболочка" в Windows - это пользовательский интерфейс, а "cmd" - только для некоторых устаревших или специальных команд. В течение многих лет Microsoft считала, что GUI - лучший способ сделать что-либо.
В 2006 году они обнаружили, что оболочки Unix (bash, ksh, zsh) очень популярны среди системных администраторов, поэтому они изобрели PowerShell: замену cmd на основе .net, которая очень полезна, особенно при использовании с последней версией Powershell ISE. Он называется shell, потому что его главная цель - стать "первоклассным гражданином" для многих задач sys-admin. Любой современный серверный продукт Microsoft имеет командлеты, так что вы можете делать практически все из powershell (без MMC).
Я не знаю, почему они не использовали слово "Shell" для «command.com» в эпоху MS-DOS.
Возможно, они заимствовали терминологию из CP/M и назвали ее "командным процессором".
Забавно: для DOS существовал недолговечный графический файловый менеджер для DOS Shell. Это было прекращено в 6.22, и большинство людей тогда использовали Norton Commander.