
GUIを使用して一部のLinuxディストリビューションをインストールすると、シェルsh
とBash
CLIが付属しています。 CLIを使用すると、CLIを介してオペレーティングシステムsh
にアクセスできますが、Bash
GUIはどうですか? GUIを使用してシステムを操作できますかsh
?Bash
それとも、ユーザーとカーネルの間を仲介する独自のシェルはありますか?
答え1
コンピューティングの面では、シェルはオペレーティングシステムの最も外側の層です。つまりユーザーと対話するオペレーティングシステムの一部です。 (JdeBPの内容も参照してください。スーパーユーザーの素晴らしい説明.) したがって、Windowsでは、一般的なシェルはExplorer(管理デスクトップ)、さまざまなバージョンのMac OSではFinderであり、Unixスタイルのシステムでは、ユーザーがシステムの基本インターフェイスとして構成するものです/bin/bash
。またはコンソールの他のもの/bin/ksh
、GNOME、Looking Glass、CDE、またはリストが続きます)など)。/bin/*sh
twm
しかし、多くの読者はシェルに次のようなPOSIXについて言及します。具体的な定義:
シェルはコマンド言語ソルバーです。
...特定の構文とコマンドがあり、どちらもPOSIXで定義されており、今日の一般的なシェル実装によってさまざまに拡張されています。
両方のタイプのシェルは、少なくともUnixスタイルのシステムでカーネルと対話するために同じタイプのメソッドを使用します。通常は一種のライブラリ(Cライブラリ)でラップされますが、最終的にはシステムコールを使用します。これは、さまざまなタイプのシェルを含むカーネルとすべてのランチャーとの間の中央コマンドインターフェースです。 Bashはシステムコールを使用し、GNOMEシェルはシステムコールを使用し、Nautilusはシステムコールを使用します。 GUIを使用せずに完全に使用できます/bin/sh
。
(一般的なGUIのさまざまなコンポーネントが他のツール(もちろん「CLI」シェルを含む)を使用して実装できることがわかると、これらすべてが少し混乱しているため、Linux GUIの一部は次のように実装されます。 . 実装しましたが、/bin/sh
そうではありません。持つになる。 )