Windows等のGUI(グラフィカルユーザーインターフェース)においては、そういったものは使いません。ですから、多くのWindowsユーザーにとっては、馴染みがないはずです。
私も初めてLinuxに触れたとき、その「端末」というアプリケーションに戸惑いました。そもそも、何をするものか、いったい何のためのものなのか、分からなかったからです。
大昔のコンピューターはバカでかくて、専用の部屋に設置されていました。その巨大なコンピューターを別室から遠隔操作していたわけです。別室からの遠隔操作に使用する、キーボードとディスプレイだけを備えたハードウェアが、文字どおり「端末」です。
今では、Linux操作にハードウェアとしての端末を使用することはほとんどありません。物理的な端末に代わり、ソフトウェアによって実装されています。現代では、そのターミナルエミュレーター(模倣装置)が利用されています。
ターミナルエミュレーターは、Linux機上で動作させることもできるし、Windows機など一般的なパソコン上で、アプリとして利用することもできます。
一方で、LinuxをCLIで操作するには、シェルというのも利用します。
端末アプリ(ターミナルエミュレーター)とシェルは、全く異なるソフトウェアです。例えば、Windows機からリモートログインしてLinuxを利用する場合、ターミナルエミュレーターはWindows機上で動作し、一方、シェルはLinux機上で動作します。
ターミナルエミュレーターとシェルは、ともに重要なツールですが、異なる役割を持っています。
ターミナルエミュレーターは、
ユーザーとオペレーティングシステム (OS) の間のインターフェースを提供するソフトウェアです。
具体的には、以下の機能を提供します。
1 ユーザーがキーボードから入力したコマンドを受け取る。
2 OSからの出力をユーザーに表示する。
3 画面のスクロールやカーソル移動などの操作を処理する。
シェルは、
ユーザーがOSとやり取りするためのCLIを提供するソフトウェアです。
具体的には、以下の機能を提供します。
1 ユーザーが入力したコマンドを解釈する。
2 コマンドを実行するために必要なプログラムを起動する。
3 コマンドの実行結果をユーザーに表示する。
上記のように、ターミナルエミュレーターは、入出力の画面を提供するためだけのソフトウェアです。
ターミナルエミュレーターというウィンドウの中で、Linux機のシェルが動いていることになります。
この両者の関係は、よくレストランのウェイターとコックに例えられます。
ウェイターは、お客様から注文を受け取り、厨房の中のコックに伝え、また料理を運びます。つまり、ターミナルエミュレーターの役割です。
厨房のコックさんは、注文に基づいて料理を作り、お客様に提供します。つまり、シェルの役割です。
この例えによって、ターミナルエミュレーターとシェルとは、全く違うソフトウェアであることが理解できます。
なお、注文を受けたコック(シェル)は、注文(コマンド)を解釈して材料、調味料を用意しますが、料理そのものは、グリルなどの厨房設備(カーネル)が担います。
ここで登場するのがシステムコールという仕組みです。システムコールについては、今、勉強の途中です。
人に説明できる程度に、自分の中でこなれてきたら、また、記事にまとめることができるかもしれません。
それでは、また次の記事で
■■■■ goosyun ■■■■
《2024年4月21日追記》
パソコン用OSとして、Linuxはどれぐらいの人が使っているのか、
Linuxのシェアについて、記事を書きました。
⇒ こちらをご覧ください。
最近の「Ubuntu」カテゴリーもっと見る
最近の記事
カテゴリー
バックナンバー
人気記事