シェル、ターミナル、コマンドプロンプトの違いを教えてください


現在、Linuxの勉強をしておりまして、その中で、「シェル」、「ターミナル」、「コマンドプロンプト」という言葉が出てきました。検索して調べてみたのですが、いまいち違いがよく分かりません。

Linuxの勉強を初めて初心者のため、「シェル」、「ターミナル」、「コマンドプロンプト」の違いを教えて頂きたいです。宜しくお願い致します。




**シェル**

ユーザからのコマンド入力を受け取りコマンドを実行するためのプログラムです。  
LinuxにCUIの画面では「コマンドプロンプト」が表示されますが、それを表示しているのがシェルです。

また、コマンド入力をテキストファイルに保存することで、保存された一連の操作を実行させることもできます。テキストに書かれたコマンド群を「シェルスクリプト」と呼びます。

シェルスクリプトはデーモンプロセスの起動や停止などでも使われてますし独自のシェルスクリプトを作成して 新しいコマンドとして使用するのもよくある使い方です。

bash, tsch, ksh, zsh など色んな種類のシェルがあります。

**ターミナル**

日本語だと端末といいます。古くはUNIXと接続する端末装置が由来ですが現在ではそれは仮想化されたソフトウェアになっていて仮想ターミナル（仮想端末）などと呼ばれています。gnone-
terminal, rxvt, kterm, xterm などいろんな仮想ターミナルがあります。

**コマンドプロンプト**

前述のシェルが表示するコマンド入力用のプロンプトを「コマンドプロンプト」といいます。また、Windows用の仮想ターミナルは「コマンドプロンプト」という名前がついてます。この場合はLinuxにはありません。

