シェルは、Linuxユーザーセッションの重要な部分です。 Linuxには、タスクを実行するためのいくつかの異なるタイプのシェルが用意されています。各シェルには固有のプロパティがあります。したがって、特定の要件に対して、一方のシェルが他方よりも優れている場合が多くあります。
これにより、Linuxで利用可能なさまざまなタイプのシェルについて知っておくことが重要になります。このチュートリアルでは、シェルとは何か、なぜそれが重要なのかについて説明します。
さらに、Linuxのさまざまなタイプのシェルを調べて、それらの機能とプロパティを理解します。
シェルとは何ですか、なぜそれらが必要なのですか?
ユーザーがシステムにログインするか、コンソールウィンドウを開くたびに、カーネルは新しいシェルインスタンスを実行します。カーネルはあらゆるオペレーティングシステムの心臓部です。
プロセスの制御管理と実行、およびシステムリソースの適切な利用を保証する責任があります。
シェルは、ユーザーとカーネルの間のインターフェースとして機能するプログラムです。これにより、ユーザーはカーネルにコマンドを与え、カーネルから応答を受け取ることができます。シェルを介して、カーネル上でプログラムとユーティリティを実行できます。したがって、基本的に、シェルはシステム上で他のプログラムを実行するために使用されるプログラムです。
カーネルと対話できることで、シェルは強力なツールになります。カーネルと対話する機能がないと、ユーザーは自分のマシンのオペレーティングシステムが提供するユーティリティにアクセスできません。
Linux環境で利用できる主なシェルを理解しましょう。
Linuxのさまざまな種類のシェル
カーネルとは何か、シェルとは何か、そしてLinuxシステムにとってシェルが非常に重要である理由を理解したら、次に、使用可能なさまざまなタイプのシェルについて学習しましょう。
これらの各シェルには、他のシェルよりも特定のタイプの使用に対して非常に効率的なプロパティがあります。それでは、Linuxのさまざまなタイプのシェルとそのプロパティおよび機能について説明しましょう。
1。ボーンシェル(sh)
AT&T BellLabsでSteveBourneによって開発されたBourneシェルは、史上初のUNIXシェルと見なされています。それはshとして示されます。コンパクトな性質と高速動作で人気を博しました。
これが、SolarisOSのデフォルトのシェルとなった理由です。また、すべてのSolarisシステム管理スクリプトのデフォルトシェルとしても使用されます。ここからシェルスクリプトについて読み始めてください。
ただし、Bourneシェルにはいくつかの大きな欠点があります。
- 論理演算と算術演算を処理する機能は組み込まれていません。
- また、Linuxのほとんどの異なるタイプのシェルとは異なり、Bourneシェルは以前に使用されたコマンドを呼び出すことができません。
- また、適切なインタラクティブな使用を提供するための包括的な機能もありません。
Bourneシェルの完全なパス名は/bin/shおよび/sbin/shです。デフォルトでは、プロンプト#を使用します rootユーザーと$ ルート以外のユーザー向け。
2。 GNU Bourne-Again Shell(bash)
より一般的にはBashシェルとして知られているGNUBourne-Againシェルは、Bourneシェルと互換性があるように設計されています。 KornシェルやCシェルなど、Linuxのさまざまなタイプのシェルの便利な機能が組み込まれています。
Bourneシェルとは異なり、以前に使用したコマンドを自動的に呼び出して、矢印キーを使用して編集することができます。
GNUBourne-Againシェルの完全なパス名は/bin/bashです。デフォルトでは、プロンプト bash-VersionNumber#を使用します rootユーザーとbash-VersionNumber$ ルート以外のユーザー向け。
3。 Cシェル(csh)
Cシェルは、カリフォルニア大学でBillJoyによって作成されました。これはcshとして示されます。算術演算の組み込みサポートやCプログラミング言語に類似した構文などの便利なプログラミング機能を含めるために開発されました。
さらに、BourneシェルのようなLinuxのさまざまなタイプのシェルにはなかったコマンド履歴が組み込まれています。 Cシェルのもう1つの顕著な特徴は、「エイリアス」です。
Cシェルの完全なパス名は/bin/cshです。デフォルトでは、プロンプト hostname#を使用します rootユーザーとhostname% ルート以外のユーザー向け。
4。 Korn Shell(ksh)
Kornシェルは、Bourneシェルを改善するために、David KornによってAT&TBellLabsで開発されました。 kshと表記されます。 Kornシェルは、本質的にBourneシェルのスーパーセットです。
Bourneシェルでサポートされるすべてのものをサポートするだけでなく、ユーザーに新しい機能を提供します。 Cシェルに似たインタラクティブな機能を提供しながら、算術演算の組み込みサポートを可能にします。
Kornシェルは、Bourneシェル用に作成されたスクリプトを実行し、Cプログラミング言語と同様の文字列、配列、および関数の操作を提供します。また、Cシェル用に作成されたスクリプトもサポートしています。さらに、Cシェルを含むLinuxのほとんどの異なるタイプのシェルよりも高速です。
Kornシェルの完全なパス名は/bin/kshです。デフォルトでは、プロンプト#を使用します rootユーザーと$ ルート以外のユーザー向け。
5。 Zシェル(zsh)
Zシェルまたはzshは、カスタマイズのための多くの改善を備えたshシェル拡張です。すべての機能を備えた最新のシェルが必要な場合は、zshシェルが最適です。
zシェルの注目すべき機能は次のとおりです。
- 指定された条件に基づいてファイル名を生成します
- プラグインとテーマのサポート
- 組み込み関数のインデックス
- コマンド補完
- その他多数…
このチュートリアルで説明したLinuxのさまざまなシェルを次の表にまとめてみましょう。
シェル | 完全なパス名 | rootユーザーへのプロンプト | root以外のユーザーへのプロンプト |
ボーンシェル(sh) | / bin/shおよび/sbin/ sh | # | $ |
GNU Bourne-Again shell(bash) | / bin / bash | bash-VersionNumber# | bash-VersionNumber $ |
Cシェル(csh) | / bin / csh | # | % |
Kornシェル(ksh) | / bin / ksh | # | $ |
Zシェル(zsh) | / bin / zsh | <ホスト名># | <ホスト名>% |
まとめ
シェルは、Linuxユーザーが利用できる最も強力なツールの1つです。シェルがなければ、システムにインストールされているカーネルが提供する機能を利用することは事実上不可能です。
Linuxで最も一般的に使用されるタイプのシェルのみを取り上げましたが、調査する価値のあるシェルタイプは他にもたくさんあります。
このチュートリアルが、Linuxのさまざまなタイプのシェルのプロパティとともに、シェルの概念を理解するのに役立つことを願っています。フィードバック、質問、提案があれば、下のコメントでお気軽にご連絡ください。