cmd.exe
私はさまざまなコマンドラインインタープリターを研究してきましたが、デフォルトのWindowsインタープリターはシェルと呼ばれていないことに気付きました。WikipediaページUnix 系システムのほぼすべてのコマンドライン インタープリターはシェルと呼ばれますが、cmd.exe
他のほとんどのインタープリターも同様です。
これには何か理由があるのでしょうか、それとも「シェル」は単に Unix 系システムに属するインタープリターの名称なのでしょうか?
答え1
シェルは主要オペレーティング システムへのユーザー インターフェイス。Windows では、このインターフェイスは GUI です。これはexplorer.exe
「ファイル マネージャー」として使用され、「ボトム メニュー」や「フォルダー ウィンドウ」を作成し、ファイルを開くプロセスを制御します。ファイルをクリックすると、ShellExecute
関数が呼び出されます。
つまり、Windows の「シェル」は UI であり、「cmd」は一部のレガシー コマンドまたは特別なコマンド専用でした。長年、Microsoft は GUI があらゆることを実行する最良の方法であると考えていました。
2006年頃、彼らはUNIXシェル(bash、ksh、zsh)がシステム管理者の間で非常に人気があることに気づき、パワーシェル: .netベースのコマンド置換。特に最新のPowershell ISEで使用すると非常に便利です。シェルその主な目的は、多くのシステム管理タスクの「第一級ユーザー」になることです。最新の Microsoft サーバー製品にはコマンドレットが用意されているため、PowerShell から (MMC なしで) ほぼすべての操作を実行できます。
MS-DOS 時代に「command.com」の代わりに「Shell」という言葉が使われなかった理由はわかりません。CP/M から用語を借用して「コマンド プロセッサ」と呼んだのかもしれません。
面白いことに、DOS には「DOS Shell」という短命の GUI ファイル マネージャーがありました。これは 6.22 で廃止され、当時はほとんどの人が Norton Commander を使用していました。