用語と混同しています。シェル、コンソール、ターミナルの違いは何ですか?
用語と混同しています。シェル、コンソール、ターミナルの違いは何ですか?
回答:
Linuxの世界では、キーボードでユーザーの観点から見ると、すべて同じように見えます。違いは、相互作用の方法にあります。
シェルは、実際にコマンドを処理し、出力を返すプログラムです。ほとんどのシェルは、フォアグラウンドおよびバックグラウンドプロセス、コマンド履歴、コマンドライン編集も管理します。これらの機能(およびその他の機能)はbash
、現代のLinuxシステムで最も一般的なシェルであるの標準です。
端末は、シェルを実行するラッパープログラムを指します。何十年も前、これはモニターとキーボードだけで構成される物理的なデバイスでした。UNIX / Linuxシステムがより優れたマルチプロセッシングシステムとウィンドウシステムを追加したため、この端末の概念はソフトウェアに抽象化されました。これで、コマンドを入力できるシェルを実行するGnomeウィンドウ環境でウィンドウを起動するGnomeターミナルなどのプログラムができました。
コンソールには、特別な一種であるターミナル。従来、コンソールは、オペレーティングシステムとの低レベルでの直接通信に使用されるコンピューターの専用シリアルコンソールポートに接続された単一のキーボードとモニターでした。最新のLinuxシステムは仮想コンソールを提供します。これらは、Linuxオペレーティングシステムの低レベルで処理されるキーの組み合わせ(例:Alt+ F1またはCtrl+ Alt+ F1; ファンクションキーは異なるコンソール)を介してアクセスされます-これは、実行するためにインストールおよび構成する必要のある特別なサービスがないことを意味します。コンソールとの対話も、シェルプログラムを使用して行われます。
シェルは、プロンプトを表示し、ユーザーがコマンドを入力するのを待つプログラムです。それらを実行し、別のプロンプトを出力します。したがって、WindowsのCMDやUnixのBashのように。端末またはコンソールで実行できます。
コンソールはもともと物理的なもので、コントロールパネルでした。コンピューティング用語では、通常、GUIの起動前または終了後に表示されるディスプレイを意味します。GUIの代わりに表示に切り替えることができます。オペレーティングシステムがエラーメッセージを出力する場所です。マルチユーザーコンピューターでは、実際にコンピューターに接続されているのはディスプレイです。混乱させるために、Windowsでは、コマンドシェルを含むウィンドウ、つまりターミナルを意味する場合もあります。
ターミナルはもともとハードウェアであり、コンピューターとの通信に使用されていました。今日では、通常、コマンドライン(シェル)を備えたウィンドウを指し、GUIウィンドウまたはGUIの代わりに表示される場合があります。
コンソールとシェルの違いは、私がまだ把握していないものですが、ターミナルがシェルとどのように異なるかを説明できます。
端末は、(あるウィキペディアによれば)「テキスト入力と表示のためのシリアルコンピュータインタフェース。情報は、予め選択され形成された文字の配列として提示されています」。
ターミナルを使用してシェルとやり取りできますが、ターミナルベースのテキストベースGUI(ターミナルユーザーインターフェイスとも呼ばれる)とやり取りすることもできます。例えば:
いずれの場合も、GUI要素はピクセルではなくテキストで「描画」されます。
詳細な説明:https : //askubuntu.com/a/506628/130518
これについては、次のテキストで最も一般的な使用例を説明します。
端末はシェルを使用します。シェルは端末なしで実行できます。
日常のアイテムに関連する:
別の見方:耳(入力)と口(出力)は音の終端です。あなたの脳は、特定のシェル(処理)を使用したこれらの音のインタープリターです。
端末は人間向けであるため、シェルとの間で読み書きできます。シェルは、cronジョブなどの人間の対話を必要としないバックグラウンドプロセスで実行できます。したがって、端末は必要ありません。
存在する端末のいくつかの例:
存在するシェルのいくつかの例:
これら2つが通常どのように機能するかを書いただけで、他にも機能する方法がありますが、それは上級ユーザー向けです。
別のコンテキスト、つまり開発を考えてください。
開発の深い知識がなくても、おそらく基本を知っているでしょう。つまり、プログラムを編集し、それをコンパイラーまたはコンパイル済みアプリケーションをビルドするインタープリターに送信します。
コンソールはプログラムのエディターのようなものです。書面では役立ちますが、実際には何も実行されません。完了したら、そのためにコンパイラに送信します。
好みのエディター、vim、gedit、emacs、notepad ++、Netbeans、ecliseなどを使用できますが、最終的には異なるツールになります。同じプログラムを記述した場合、出力は同じになります。
この比phorでは、シェルはコンパイラです。ターミナルに入力されたコマンドはシェルに送信され、シェルはそれらを解釈してすぐに実行します。
そのため、ターミナルはシェルのフロントエンドにすぎませんが、シェルにはコンパイラーのように実際の言語が含まれています。
主にファイルを生成せず、基礎となるシェルにテキストを送信し、そこから出力を取得するため、明らかにターミナルはテキストエディターではありません。
また、シェルはコンパイラではありません。実際、実行可能ファイルを作成する代わりに、コマンドを解釈してすぐに実行します。
この大きな違いがあったとしても、このメタファーはこの考えを理解するのに大いに役立つと思います。
prompt
とでもcommand line
?