コマンド シェルとは

Important

2026年1月現在、AI Shellプロジェクトはもはや活発なメンテナンスは行われていません。 このプロジェクトは工学的観点からアーカイブされていると考えるべきです。

コマンド シェルは、コンピューターと対話するためのテキスト ベースのインターフェイスです。これは、読み取りEval-Print ループ (REPL) とも呼ばれます。

シェルは、キーボードから入力を受け取り、その入力を評価し、シェル コマンドとして入力を実行するか、実行するオペレーティング システムに入力を渡します。 ほとんどのシェルでは、スクリプト ファイルからコマンドを読み取ることもできます。また、変数、フロー制御、関数などのプログラミング機能を含めることもできます。

端末

ターミナルは、コマンド シェルをホストするためのテキスト ベースのインターフェイスを提供するアプリケーションです。 一部のターミナルは特定のシェルで動作するように設計されており、他のターミナルは複数のシェルをホストできます。 また、次のような高度な機能が含まれる場合もあります。

  • 1 つのウィンドウ内に複数のペインを作成する機能
  • 複数のシェルをホストする複数のタブを作成する機能
  • 配色とフォントを変更する機能
  • コピー操作と貼り付け操作のサポート

ターミナル アプリケーションの例を次に示します。

  • Windows ターミナル - 複数のシェルをホストできる Windows 用の最新のターミナル アプリケーションです。
  • Windows コンソール ホスト - テキスト ベースのアプリケーション用の Windows 上の既定のホスト アプリケーションです。 また、Windows コマンド シェルまたは PowerShell をホストすることもできます。
  • macOS 用ターミナル - bash または zsh シェルをホストできる macOS 上の既定のターミナル アプリケーション。
  • iTerm2 for macOS - macOS 用の一般的なサード パーティ製ターミナル アプリケーションです。
  • Azure Cloud Shell - Microsoft Azure でホストされているブラウザー ベースのターミナル アプリケーションです。 Azure Cloud Shell では、bash または PowerShell の使用を選択でき、Azure リソースを管理するための多くのコマンドライン ツールが事前構成されています。

汎用コマンド シェル

汎用コマンド シェルは、オペレーティング システムで動作するように設計されています。 これらのシェルを使用すると、オペレーティング システムでサポートされている任意のコマンドを実行できます。 また、シェル固有のコマンドとプログラミング機能も含まれています。 次の一覧に、汎用コマンド シェルの例をいくつか示します。

  • PowerShell の
  • Windows コマンド シェル の
  • bash - Linux で人気
  • zsh - macOS で人気

ユーティリティ コマンド シェル

ユーティリティ コマンド シェルは、特定のアプリケーションまたはサービスで動作するように設計されています。 これらのシェルは、アプリケーションまたはサービスに固有のコマンドのみを実行できます。 一部のユーティリティ シェルではスクリプト ファイルからのコマンドの実行がサポートされていますが、プログラミング機能は含まれていません。 通常、これらのシェルは対話形式でのみ使用できます。

  • AI Shell - Azure OpenAI などの AI サービスとの通信に使用される対話型のシェル。
  • netsh - ネットワーク シェル (netsh) は、Windows 上のさまざまなネットワーク コンポーネントの状態を構成して表示できるコマンド ライン ユーティリティです。 コマンド ライン ツールとコマンド シェルの両方です。 スクリプト ファイルからのコマンドの実行もサポートしています。

コマンド ライン ツール

コマンド ライン ツールは、コマンド シェルから実行されるスタンドアロン プログラムです。 コマンド ライン ツールは通常、ファイルの管理、設定の構成、情報のクエリなど、特定のタスクを実行するように設計されています。 コマンドライン ツールは、外部プログラムの実行をサポートする任意のシェルで使用できます。

  • Azure CLI - サポートされている任意のシェルで実行できる Azure リソースを管理するためのコマンド ライン ツールのコレクションです。
  • Azure PowerShell - サポートされている任意のバージョンの PowerShell で実行できる Azure リソースを管理するための PowerShell モジュールのコレクションです。
  • Windows 用の OpenSSH - ネットワーク経由でセキュリティで保護された通信を行うコマンド ライン クライアントとサーバーです。
  • Windows コマンド - Windows に組み込まれているコマンド ライン ツールのコレクションです。

一般に、コマンド ライン ツールはコマンド シェル (REPL) インターフェイスを提供しません。 Windows の netsh コマンドは、コマンドライン ツールと対話型コマンド シェルの両方であるため、例外です。