シェルとターミナルの違い

シェルとは Link to this heading

シェルとは、コマンドを受け取り実行するプログラムである。

シェルは、OSとユーザーの間に立つインターフェースである。ユーザーからコマンドを受け取り、それをOSに渡して実行する。シェルからOSにコマンドを渡す際は、OSの提供するシステムコールを利用する。

つまり、シェルは、ユーザーが入力したコマンドを解釈し、それに対応するシステムコールを呼び出すプログラムである。

ターミナルとは Link to this heading

ターミナルとは、シェルとユーザーの間のインターフェースとなるデバイスである。

ターミナル自身はコマンドの実行機能を持たない。あくまでユーザーの入力をシェルに渡し、シェルからの出力をユーザーに表示する役割を持つデバイスである。

昔はターミナルと呼ばれる物理的なデバイスを利用していたが、現在はターミナルエミュレータというソフトウェアを利用するのが一般的である。

ターミナルの表示 Link to this heading

シェルの出力はターミナルの機能で画面に表示される。そのため、ターミナルがシェルの出力をどう解釈するかによって、表示のされ方が異なる。

たとえば、出力に\nが含まれていると、大抵のシェルは改行する。これは、ターミナルが\nを「改行」と解釈して表示するためである。

細かいターミナル表示の制御をするために、ANSIエスケープシーケンスと呼ばれる特殊な文字列が存在する。これを利用することで、文字色や背景色の変更、カーソルの移動、画面のクリアなどが可能となる。

Licensed under CC BY-NC-SA 4.0
最終更新 6月 16, 2024
Hugo で構築されています。
テーマ StackJimmy によって設計されています。