Linuxで利用できるシェルはたくさんありますが、この記事では、上位5つのLinuxシェルのみを含め、それらの機能について詳しく説明します。
Linuxは、常に新しいツールキットを武器に追加しようとしているパワーユーザー向けに、最高のオープンソースシェルをいくつか提供しています。 Linuxのさまざまな種類のシェルはさまざまな機能を提供しますが、基本的には、数十年前に開発されたアイデアを実装しています。
Linuxシェルとは
Linuxでは、シェルは他のプログラムを実行するオペレーティングシステムのコマンドインタープリターです。 これは、コンピューターユーザーにLinuxシステムへのインターフェイスを提供し、ユーザーがいくつかの入力データを使用してさまざまなコマンドやユーティリティを実行できるようにします。
簡単に言うと、シェルはキーボードからコマンドを受け取り、それらをオペレーティングシステムに渡して実行するプログラムです。プレーンテキスト形式のコマンドを受け取り、オペレーティングシステムサービスを呼び出して何かを実行します。
しかし、シェルは単なるコマンドインタープリター以上のものです。また、変数、ループ、条件付き実行、関数などの独自の構造を備えた完全なプログラミング言語です。
すべてのシェルには、独自の構文およびスクリプト機能が付属しています。それでは、Linuxで最もよく使用されているオープンソースシェルの上位5つを見てみましょう。
1。バッシュシェル
Brian Foxは、1988年にGNUプロジェクト用にBourneシェルの無料バージョンとしてBashを開発しました。 Bashはオリジナルと似ていますが、コマンドライン編集などの機能が追加されています。
Bashは標準のGNUシェルであるため、すべてのLinuxディストリビューションで標準のシェルになりました。 現在、ほとんどの最新のLinuxディストリビューションはデフォルトでBashシェルを提供しています。 このオープンソースのLinuxシェルは、その堅牢な機能セットと使いやすさでコミュニティでよく知られています。この名前は「Bourne-AgainSHell」の頭字語です。
Bashが非常に強力であると見なされる理由の1つは、スクリプト可能であるためです。シェルスクリプトは、明確に定義された標準を持つ他のプログラミング言語と同様に、タスクを最適化し、費用効果を高めるためにコマンドのリストを分離したものです。手動でBashに入力できるものはすべて、プレーンテキストファイルにリストしてBashに実行させることもできます。
Bashの学習は、自動化を実行するのに非常に役立ちます。非常に強力で、次のような多くの機能があります。
- ディレクトリ操作
- ジョブコントロール
- ブレースの拡張
- チルダ拡張
- エイリアス
- コマンド履歴
- コマンドライン編集
- キーバインディング
- 統合プログラミング機能
- 制御構造
- ビルトインの動的ローディング
Linuxカーネルの作成者であるLinusTorvaldsは、1991年に新しいカーネルで実行した最初の2つのプログラムは、GNUのコンパイラであるBashとgccであると述べています。
2。 Zshシェル
Zsh(Zシェルの略)はBourne Shellの拡張バージョンであり、プラグインとテーマの多くの新機能とサポートを備えています。 これは高度にカスタマイズ可能なLinuxシェルであり、タブ補完、巧妙な履歴、リモートファイル拡張などの非常に強力な機能を備えています。 Zshはインタラクティブな使用のために設計されたシェルですが、強力なスクリプト言語でもあります。 Bash、Ksh、Tcshの便利な機能の多くがZshに組み込まれ、それらに追加されています。
Zshは1990年からPaulFastadによって開発され、zshという名前はイェール大学のZongShao教授に由来しています。 Linuxオペレーティングシステムで最も人気のあるシェルの1つになりました。
より重要なZsh関数のいくつかは次のとおりです。
- コマンドのオートコンプリート
- 変数処理の改善
- スペル修正
- 共有コマンド履歴
- キルタブ補完
- 環境変数の簡単なセットアップ
- カスタマイズ
Linuxを使用している場合、ユーザー時間の大部分は端末で費やします。端末をカスタマイズしてプロフェッショナルに見せたい場合は、OhMyZshを使用してこの目標を達成できます。これは、Zsh構成の管理に使用できるコミュニティ主導のオープンソースフレームワークです。 Prezto、Zgen、Antigenなど、Zsh用の他のフレームワークもあります。現在、OhMyZshは150のテーマと275のプラグインをサポートできます。
ZshとBashはどちらも同様の印象的な機能を共有していますが、独自のツールも備えています。 bashにはない拡張性、高度なカスタマイズ、高度な機能をお探しの場合は、zshシェルが最適です。さらに、ZshはmacOS Catalinaのデフォルトのログインシェルおよびインタラクティブシェルであり、Bashに取って代わります。
3。魚
Fish Shellは、自動提案、タブ補完、構文の強調表示を備えた最新のコマンドラインインターフェースです。 これは、LinuxおよびmacOS用のスマートでユーザーフレンドリーなコマンドラインシェルです。このシェルは、速度と効率を損なうことなく、ユーザーに強力な機能と制御を提供します。大規模な構成を必要とせずに、すぐに使用できるように設計されています。
履歴に基づく魚のインライン自動提案は、箱から出してすぐに機能します。履歴を使用して、Fishはコマンドを完了するための次の可能性を提案します。
このシェルは、従来のBashシェルよりもカラフルです。入力すると、Fishが構文の強調表示を実行することがすぐにわかります。これらの色やその他の多くの色は、fish_config
を実行することで変更できます。 。これにより、WebベースのGUIが開き、カラーテーマを選択して、シェルの外観を構成できます。
もう1つのすばらしい機能は、コマンドの可用性です。たとえば、/usr/bin/linuxiac
と入力した場合 、行が赤い色で表示され、有効なコマンドではないことを示しますが、/usr/bin/ping
と入力します。 正常に見えます。
フィッシュシェルの機能:
- 履歴に基づくインライン自動提案
- 優れたタブ補完
- 構文の強調表示
- 直感的なワイルドカードのサポート
- Webベースの構成
- 適切なスクリプト
Fishは、zshやbashなどの他のシェルを使用するユーザーにとって、新しくて有利なシェルを試したい場合に非常に強力で便利なLinuxシェルです。
4。 Ksh Shell
Ksh(Kornシェルの略)はAT&T BellLaboratoriesのDavidKornによって発明され、1986年に公開されました。これはBourneシェルの再実装です。 Kshシェルのコマンドエディタインターフェースを使用すると、入力ミスをすばやく簡単に修正できるほか、コマンド履歴を簡単に呼び出して再利用できます。 コマンド補完は提供しませんが、ファイル名補完は提供します。 Kshを使用すると、開発者は必要に応じて新しいシェルコマンドを作成できます。
Kshシェルのコマンドライン編集モードは、最初は人々を引き付ける傾向がある機能です。コマンドライン編集を使用すると、戻って間違いを修正するのがはるかに簡単になります。主にインタラクティブユーザーを対象としたその他の主要なKsh機能は、ジョブ制御です。
より重要なKsh関数のいくつかは次のとおりです。
- ジョブコントロール
- エイリアス
- 機能
- コマンド履歴
- コマンドライン編集
- 統合プログラミング機能
- 制御構造
- デバッグプリミティブ
- 正規表現
- 高度なI/O機能
Kshシェルは、pdksh、mksh、ksh88、最新のksh93などのさまざまなバージョンをリリースしています。
5。 Tcshシェル
CおよびC++プログラミング言語は、Linuxの初期の時代には非常に人気があり、Linux自体の大部分がそれらで記述されていました。そして、誰も驚くことではありませんが、新しいシェルがポップアップしました。これは、バニラC構文モデルを使用するCシェルです。 Tcshは、拡張されていますが、完全に互換性のあるバージョンのBerkeley UNIX csh(Cシェル)です。 これは、対話型ログインシェルとシェルスクリプトコマンドプロセッサの両方として使用できるコマンド言語インタプリタです。 Tcshは次世代のCシェルと考えることができます。
Tcshは、1979年にカーネギーメロン大学でKenGreerによって開発されました。 tcshの「t」は、1969年にBBNがPDP-10メインフレームコンピュータファミリ用に開発したオペレーティングシステムであるTENEXの「T」に由来します。
MacOS Xの初期バージョンには、デフォルトのシェルとしてtcshが付属していましたが、新しいバージョンのデフォルトはBashになりました。現在、tcshはFreeBSDのデフォルトのルートシェルです。
Tcshの主な機能は、プログラム可能なコマンド補完とコマンドライン編集です。それは、完全な単純さと本質的な機能の間の素晴らしいバランスを打ちます。 tcshを使用するために必要なすべてのドキュメントは、man tcsh
にあります。 さまざまなヘルパープログラムに広まる代わりに。
結論
Linuxディストリビューションが現在の地位を確保するのに役立った基本的な機能の1つは、Linuxシェルです。 Linuxシェルをマスターすると、オペレーティングシステムを操作する別の方法が得られます。読者には、要件に基づいてこれらのシェルのいくつかを試して、実際に体験することをお勧めします。
あなたがリストとランキングを楽しんだことを望みます。何か新しい提案があれば、下のコメントボックスを使用してください。