専門用語で混乱しています。シェル、コンソール、ターミナルの違いを教えてください
215 claws 2010-05-24
linuxの世界では、キーボードを操作しているユーザーから見れば、どれも同じように見えます。違いは、それらがどのように相互に作用するかにあります
シェルとは、実際にコマンドを処理して出力を返すプログラムのことです。ほとんどのシェルは、フォアグラウンドとバックグラウンドの処理、コマンド履歴、コマンドラインの編集も管理します。これらの機能 (およびその他多くの機能) は、現代の Linux システムで最も一般的なシェルである bash
に標準装備されています
ターミナルとは、シェルを実行するラッパープログラムのことを指します。数十年前までは、これはモニターとキーボードだけの物理的なデバイスでした。unix/linux システムがより優れたマルチプロセッシングやウィンドウシステムを追加するにつれて、このターミナルの概念はソフトウェアに抽象化されました。今では、Gnome Terminal のようなプログラムがあります。このプログラムは、Gnome ウィンドウ環境でウィンドウを起動し、コマンドを入力できるシェルを実行します
コンソールは特殊な種類の端末です。歴史的には、コンソールは単一のキーボードとモニタを、オペレーティングシステムと低レベルで直接通信するために使用されるコンピュータ上の専用のシリアルコンソールポートに接続したものでした。最近の Linux システムは仮想コンソールを提供しています。これらの仮想コンソールにはキーの組み合わせ(例: Alt+F1やCtrl+Alt+F1; ファンクションキーは異なるコンソールの番号を示します)でアクセスできますが、これらはLinuxオペレーティングシステムの低レベルで処理されます。コンソールとの対話はシェルプログラムを使って行われます
192 Doug Harris 2010-05-24
シェルとは、プロンプトを表示してコマンドを入力するのを待つプログラムです。シェルはコマンドを実行し、別のプロンプトを表示します。WindowsのCMDやUnixのBashのようなものです。シェルはターミナルでもコンソールでも実行できます
コンソールは元々は物理的なもので、コントロールパネルでした。コンピューティング用語では、通常、GUIが起動する前や終了後に表示されるディスプレイを意味します。オペレーティングシステムがエラーメッセージを表示する場所です。マルチユーザーコンピュータでは、実際にコンピュータに接続されているディスプレイのことです。紛らわしいかもしれませんが、Windowsではコマンドシェルが入ったウィンドウ、つまりターミナルを意味することもあります
ターミナルも元々はハードウェアで、コンピュータと通信するために使用されていました。今日では、通常はコマンドライン(シェル)を持つウィンドウを指し、GUIウィンドウに表示されたり、GUIの代わりに表示されたりします
17 Peter Westlake 2010-05-24
ビギナーズビギナーの方へ
より詳細な説明はhttps://askubuntu.com/a/506628/130518
- terminal = テキスト入出力環境
- console = 物理的な端末(実際に物理的に触れることができるもの)
- shell = コマンドラインインタプリタ
これについては、次の文章で最も普通に使われているケースを解説していきたいと思います
ターミナルはシェルを使います。シェルはターミナルがなくても実行できます
日用品に関わること
- 端末→自宅のテレビ画面
- シェル→テレビ画面で実行中のプログラム
別の見方をするとあなたの耳(入力)と口(出力)は音の端子です。あなたの脳は、特定のシェル(処理)を使ってそれらの音を解釈する役割を担っています
ターミナルは人間のためのもので、シェルとの間で読み書きができます。シェルは人間の操作を必要としないバックグラウンドプロセスで実行することができ、例えば cron ジョブのように、ターミナルを必要としません
存在する端末の例をいくつか紹介します
- Command prompt
- guake
- gnome-terminal
- terminator
存在する貝の例は少ない
- Bash
- シェ
- PowerShell [windows]
- zsh
この2つが普通に動く方法しか書いていませんが、他の方法もありますが、それはもっと上級者向けです
10 Karl Morrison 2018-03-06
ターミナルはテキストベースのインターフェイスです (シェルに接続する場合もあります)
コンソールとシェルの違いは、私がまだ把握していないものですが、ターミナルとシェルの違いを教えてくれます
端末は(Wikipediaによると)。”テキスト入力と表示のためのシリアルコンピュータインターフェース。情報は事前に選択された形成された文字の配列として表示されます。”
ターミナルを使ってシェルと対話することもできますが、Terminal User Interfaceと呼ばれるテキストベースのGUIと対話することもできます。例えば、以下のようになります
- Vimには行番号や名前付きタブなどのGUI要素があります
- Nanoにはコマンドのヘルプメニューを含むGUI要素があります
- Tmuxには、ステータスバーやペイン間の区切り線などのGUI要素があります
- MinicomにはメニューやステータスバーなどのGUI要素があります
いずれの場合も、GUI要素はピクセルではなくテキストで「描画」されます
2 Nathan Long 2016-01-27
別の文脈で考えてみましょう。 開発についての深い知識がなくても、基本的なことは知っているでしょう。 コンソールはプログラムのエディタのようなもので、プログラムを書くのに役立ちますが、実際には何も実行しません。 好きなエディタ、vim, gedit, emacs, notepad++, Netbeans, eclise などを使うことができますが、最終的にはそれらは異なるツールにすぎません: 同じプログラムを書いても出力は同じになります。 このメタファーでは、シェルはコンパイラです。ターミナルに入力されたコマンドはシェルに送られ、シェルがそれを解釈してすぐに実行します。 つまり、端末はシェルのフロントエンドに過ぎませんが、シェルはコンパイラと同じように実際の言語を含んでいます
明らかにターミナルは正確にはテキストエディタではありませんが、主にファイルを生成するのではなく、基礎となるシェルにテキストを送り、そこから出力を取得するからです
また、シェルはコンパイラではなく、実行ファイルを構築する代わりにコマンドを解釈してすぐに実行します
この大きな違いがあっても、私はこの比喩がこの考えを理解する上で多くの助けになることを発見しました
1 AgostinoX 2014-09-21
大差はありません。シェル」がプログラムだった頃、「ターミナル」はこのプログラムのフロントエンドのラッパーであり、「コンソール」はコンピュータへの物理的な接続(キーボード/スクリーン)でした
どのOSを使っているかによって違いがあります。標準的な」シェルは BASH で、通常は Linux / Unix のすべてのフレーバーで利用できます。Windows は全く異なるシェルを使用しています
0 Josh K 2010-05-24