シェル・ターミナル・コンソールなどの言葉はLinuxを使っていく上で、必ず聞く言葉だろう。
ただ、「いったい何が違って、どれがどれだ???」という疑問が中級者でも出てくるくらい似ている言葉だ。
このページではシェル・ターミナル・コンソールの違いについてお伝えしよう。
シェル・ターミナル・コンソールの違い
「シェル」「ターミナル」「コンソール」は一見すると似ているように思える。どれもCUIでLinuxにコマンドを打ちこむときに使用するものだからだ。
しかしこれらはそれぞれ違う単語だ。
まずシェルとターミナルはソフトウェアだが、コンソールはハードウェアである。ターミナルとコンソールは命令を発信するものだが、実際に命令をOSに橋渡しするのはbashなどのシェルの役割である。
ややこしいと思うので、それぞれ一つづつ説明しよう。
コンソールとは
コンソールとは日本語にすると「制御卓」となる。コンピュータ本体と直結されており制御を行うための装置となる。現代ではゲームコンソールなど用語のつかわれ方が曖昧になってしまっているが、元をただすと「制御するための卓」となる。
現代においてパーソナルコンピュータは制御卓というと、キーボードやディスプレイといったハードウェアのことを指す。サーバールームなどではディスプレイとキーボードだけの端末がラックマウントに収納されている場合が多い。
とはいえ、あまり上記の意味でコンソールという言葉は使われなくなっている。
Linuxに限らずだが、現時点で「コンソール」というと一般的に黒い画面でコマンド入力を受け付ける画面を指すことが多い。
詳しくは下記URLを参考に。
ターミナルとは
簡単にいうとGUIの上でCUIの操作をしたいときに使用するアプリケーションのことである。
「xterm」やGNOME環境でいうところの「端末」である。Macなどでは「iTerm」や「ターミナル」といったソフトウェアが有名だ。
GUI上でCUIのコマンドを実行したいときはターミナルを立ち上げて操作することになる。
まるでターミナルから命令が実行されているように思えるが、実際命令を解釈しOSへ伝達する役割はシェルがおこなっている。なので言い方を変えるとGUI上でシェルを呼出しているという解釈でも問題ないだろう。
ターミナルをたちあげるとCUI環境のコマンドやエディタなどが使用可能になる。
詳しくは下記URLから。
シェルとは
シェルとは私たちのようなLinux利用者とOSの中心部分カーネルなどに命令を伝えてくれるプログラムの一種である。
コンソールからアクセスしても、ターミナルからアクセスしても、外部のネットワークごしにリモートからアクセスした場合も、応答し命令を実行橋渡しするのはシェルとなる。
CUI環境における対話的インターフェイスとなっている。Linuxでのデフォルトのシェルは「bash」となっている。
まとめ
下地にシェルがありコンソールやターミナルから命令をOSへ伝達してくれる。コンソールでアクセスしてもターミナルでアクセスしても対話するものはシェルとなる。
コンソールの場合はハードウェア的に直にアクセスしているがターミナルの場合はGUI環境でソフトウェア的にシェルを呼び出し命令を実行するようになっている。
- コンソールとは入出力をつかさどる端末ハードウェア
- ターミナルとはGUIでCUI環境を再現するもの
- シェルとはCUI環境における対話的インターフェイス
という意味だ。
コンソールとターミナルは結構曖昧にもなってきているが、本質的な違いは掴んでおこう。
コメント