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

Есть ли причина для этого или "оболочка" - это просто номенклатура для интерпретаторов, относящихся к Unix-подобным системам?

1 ответ1

2

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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .