GNU/Linux >> Linux の 問題 >  >> Linux

Linuxシェルのまとめ:最も人気のある15のオープンソースLinuxシェル

Unixシステムは、70年代の創業以来、世界を魅了してきました。 LinuxおよびBSDディストリビューションが現在の地位を確保するのに役立った基本的な機能の1つは、Linuxシェルです。シェルは、その巨大なパワーと多様なアプリケーションにより、多くのLinux愛好家にとって不可欠なツールの1つです。これは、オペレーティングシステムへのコマンドラインインターフェイスであり、基準に応じてあらゆる種類の操作を実行できます。さらに、Linuxシェルは単なるインターフェースではなく、独自の構文とセマンティクスのセットを備えた本格的なスクリプト言語でもあります。

頻繁に使用されるLinuxシェル

Linuxは、常に新しいツールキットを武器に追加することを探しているパワーユーザー向けに最高のオープンソースシェルのいくつかを提供します。そのため、多くの日常のユーザーにとって特定のシェルを選択するのは非常に困難です。私たちの編集者は、Linuxユーザーにとって最高の無料のオープンソースシェルのいくつかを自由に指摘しています。どのLinuxシェルがあなたの目的に最も適しているかを見つけるために私たちと一緒にいてください。

1。 shシェル

Bourne Shellまたは「sh」は、歴史的なUnixオペレーティングシステムの元のシェルでした。その作成者であるStephenBourneは、1977年にAT&T Bell Labsで開発し、それ以来、ほとんどの初期のUnixシステムに同梱されています。 Bourne Shellは、使用するスクリプト拡張機能から短縮形を取得しました。これは、当然のことながら、ユーザーがスクリプト名をshで終了する必要があります。これは、リダイレクト、スクリプト機能、堅牢な言語構造などの機能を備えた、多くの人気のある将来のシェルの基準を設定しました。

BourneShellの機能

  • Bourne Shellのデフォルトのシェルプロンプトは$記号であり、この文字をプロンプトに使用した最初のシェルでした。
  • 入出力リダイレクト、Unicode、ストリームリダイレクト、バッチスクリプトなどのサポートが組み込まれています。
  • このシェルの元の1977バージョンは独自仕様でしたが、ソースにアクセスできるように公開されています。
  • shシェルは高度に構成可能であり、さまざまなシステム基準に簡単に一致するように変更できます。

2。バッシュシェル

Bourne Again Shellとして広く知られているBashは、おそらく現代のUnixマシンで最も使用されているLinuxシェルです。 UbuntuやArchなどの標準のLinuxディストリビューションを使用している場合、使用しているデフォルトのシェルはBashシェルです。このオープンソースのLinuxシェルは、その堅牢な機能セットと使いやすさでコミュニティでよく知られています。したがって、ほとんどのLinuxユーザーは、人生のある時点または別の時点でBashを実行します。

Bashシェルの機能

  • Bashが提供するコマンドライン編集機能は非常に優れており、無制限のコマンド履歴を提供します。
  • Bashは、堅牢なシェル機能、エイリアス、ジョブ制御メカニズム、入出力リダイレクト、Unicodeサポートに加えてISO8061サポートを提供します。
  • このオープンソースのLinuxシェルは、コマンド名、パス、ワイルドカードのオートコンプリートサポートを提供し、テキストの強調表示とともに色付きのディレクトリリストを許可します。
  • Bashは、2から64までの任意の基数の整数演算を実行でき、無制限のサイズのインデックス付き配列を許可します。

3。 Cシェル

Cシェルまたは「csh」は最も古いオープンソースのUnixシェルの1つです。それは、UCBの当時の大学院生であるビルジョイによって70年代に開発されました。それ以来、cshには多数のUnixバリエーション、特にさまざまなBSDが同梱されています。元のUnixシステムと最新のLinuxカーネルは主にC/C ++で記述されているため、多くの人に役立つインタプリタ用のCのような構文が組み込まれています。

---

Cシェルの機能

  • Cシェルは、革新的な履歴メカニズム、ジョブ制御手順、インタラクティブなファイル名、およびユーザー名の補完を、標準のCのような構文とともに提供します。
  • 上級ユーザーは、インタラクティブなログインシェルまたはシェルスクリプトのコマンドプロセッサとして利用できます。
  • Linux Cシェルで使用されるデフォルトのシェルプロンプトは、多くのBashユーザーによく知られている「$」記号とは対照的に、「%」記号です。
  • Cシェルを使用すると、ユーザーは、ワイルドカードに基づく一致パターンとともに、変数の置換を検索して置換することができます。

4。 Korn Shell

Korn Shellまたはkshは、間違いなく、今日のLinuxで最も人気のあるオープンソースシェルの1つです。これは、Cシェルの双方向性とBashシェルの生産性からインスピレーションを得たDavidKornによって伝説的なベル研究所で開発されました。 Korn Shellは、高度なジョブ制御、コマンドエイリアシング、浮動小数点演算などの先行機能のおかげで、初期の頃から絶大な人気を博してきました。

KornShellの機能

  • Korn Shellを使用すると、ユーザーはCtrl + Zを使用して現在のジョブを終了し、コマンド fgを使用してフォアグラウンドまたはバックグラウンドに配置できます。 およびbg
  • シェルコードをメモリに直接保存するために使用できるため、プログラミング能力と効率的なパフォーマンスを向上させることができます。
  • kshは、ユーザーがシェルから直接viまたはEmacsスタイルの編集コマンドを使用できる高度なコマンドライン編集を提供します。
  • Kornシェルスクリプトは通常、Bourneシェルスクリプトよりも高速であり、注目すべきセキュリティメカニズムとともに高度なI/O機能を提供します。

5。 Zshシェル

ZSHシェルは、革新的で現代的なLinuxシェルであり、多数の堅牢な機能を備えています。これはBash上で開発され、効果的なコマンドインタープリターと一緒にインタラクティブなログインシェルを提供します。 Zshはそのパフォーマンスで知られており、Linux用の多くのオープンソースシェルをかなり長距離で改善しています。また、KshシェルやTcshシェルなど、90年代の他の人気のあるシェルから要素を借用しています。高度なLinuxシェルを探しているLinuxの第一人者なら、Zshを試してみてください。

Zshシェルの機能

  • Zshのオートコンプリート機能は非常にインテリジェントで、ファイルとパスの両方に対して高度にインタラクティブなオートコンプリートをサポートしています。
  • このオープンソースUnixシェルの履歴共有メカニズムは単純に巨大であり、同時に実行されている多くの異なるターミナルインスタンスの共有履歴を可能にします。
  • ユーザーは、人気のあるコミュニティ主導のフレームワークoh-my-zshから400を超えるプラグインと200を超えるテーマから選択できます。
  • Zshは、viモード、スマートエスケープ、再帰的グロビング、一時ファイルへの出力のパイピング、スペル修正、およびその他の多くのインタラクティブ機能もサポートしています。

6。 Tcshシェル

TcshシェルはCシェルのアップグレード版であり、プログラム可能なコマンド補完とコマンドライン編集を主要な機能として提供します。 Cshシェルと完全に互換性があり、対話型ログインシェルとシェルスクリプトプロセッサの両方として使用できます。 Tcshには、強力なコマンドラインエディター、最新の履歴メカニズム、プログラム可能な単語補完、ジョブ制御、スペルチェックのサポート、およびCshが後に続くCのような構文が付属しています。このUnixシェルは、上級プログラマーに最適です。

Tcshシェルの機能

  • Tcshには、ファイルと変数のオートコンプリート、およびプログラム可能なコンプリーションとエイリアス引数セレクターのサポートが組み込まれています。
  • 経験豊富なユーザーがワイルドカードを組み込んで、ターミナルでシェルスクリプトを実行する際の柔軟性を高めることができます。
  • このLinuxシェルのビルド済みのwhereコマンドは、Bashのwhichコマンドと同じように機能しますが、$PATHディレクトリで指定されたターゲットのすべての場所を表示します。
  • Tcshは、FreeBSDおよびその子孫(DragonFlyBSDやDesktopBSDなど)のデフォルトのコマンドラインインタープリターです。

7。フィッシュシェル

Fish Shellは、Linux用の初期のオープンソースシェルの現代的な代替品となることを目的とした、フレンドリーでインタラクティブなUnixシェルです。これは、Windowsオペレーティングシステムに加えて、すべてのLinuxおよびBSDディストリビューションで利用できます。 Fishは、マシン上でエキサイティングなLinuxコマンドを見つけ、記憶し、使用することを容易にする強力な機能の豊富なセットを提供します。 Linuxデスクトップ用のスマートなコマンドラインシェルを探しているなら、Fishは確かに試してみる価値があります。

フィッシュシェルの機能

  • Fishは、「入力時に検索」と呼ばれる強力な自動提案機能を提供します。 コマンドライン履歴と現在のディレクトリに基づきます。
  • その機能豊富なTav補完機能により、ユーザーはファイルパス、変数、および多くのコマンド固有の補完をワイルドカードと中括弧で拡張できます。
  • Fishには、24ビットのトゥルーカラーのサポートが組み込まれているため、ターミナルセッションがよりカラフルで魅力的なものになります。
  • これは、箱から出してすぐに機能し、構成を必要としないオープンソースシェルを探している人々にとって優れたシェルです。

8。イオンシェル

Ionシェルは、パフォーマンスの大幅な向上に加えて、シンプルでありながら強力な構文を備えた、魅力的な現代のシェルです。これはRustプログラミング言語を使用して記述されているため、多くのBashユーザーが遭遇する一般的な「ShellShcok」の問題に対する脆弱性がはるかに低くなります。 Ionは、Bash、Fish、Oilなどの人気のあるシェルから多くのデザイン要素を借用しています。したがって、この素晴らしいシェルを起動して実行するのにそれほど時間はかからないはずです。

イオンシェルの機能

  • イオンシェルはDashよりも高速です。Dash自体は、現在ほとんどのLinuxマシンで使用されている標準のBashシェルよりも約4倍高速です。
  • Rustで記述されているため、Ionは従来のC /C++ベースのUnixコマンドラインシェルよりも高度なメモリ安全性を提供します。
  • Ionには、文字列、配列、グロブ、中括弧(範囲、順列、ネストされた中括弧)、算術、およびプロセスに対する拡張サポートが組み込まれています。
  • シンプルでクリーン、そして簡潔な設計により、比較的簡単に慣れることができ、ユーザーはシェルを静的バイナリとしてコンパイルできます。

9。ダッシュシェル

Dashシェルは、Debian Almquistシェル(ダッシュ)の頭字語であり、Debianオペレーティングシステムのデフォルトのコマンドラインインタープリターです。これは、標準のGNU Bashシェルよりもはるかに小さいですが、それでもPOSIX準拠を目指しています。 Dashは、Linuxエコシステムに移植される前にNetBSDバージョンのash(Almquist SHell)から派生しており、従来のUnixシェルよりも大幅にパフォーマンスが向上しています。ダッシュはほとんどのシェルよりも高速で、必要なスペースとライブラリも少なくて済みます。

ダッシュシェルの機能

  • DashはLinux用の最速のオープンソースシェルの1つであり、Bashや他の標準シェルよりもほぼ4倍高速です。
  • Dashの最小限の設計により、通常のコマンドラインインタープリターよりもはるかに小さくなり、必要なシステムリソース(ディスクスペース、RAM、またはCPU)が制限されます。
  • コードベースが大幅に小さいため、Dashの攻撃対象領域は少なく、頻繁なシェル攻撃から非常に安全です。
  • UbuntuまたはDebianシステムのユーザーは、ターミナルウィンドウにman dashと入力すると、Dashに関する詳細情報を見つけることができます。

10。 Eshell

Eshellは、Emacs Lispを使用して記述された便利なコマンドラインインタプリタプログラムであり、Lispコードのシームレスなサポートを提供するとともに非常にポータブルであることを目的としています。オートコンプリート、履歴管理、ジョブ制御メカニズムなど、日常の機能のかなりのリストを提供します。 Eshellに付属しているスクリプト構造は非常に単純で、適切に機能します。 Lispプログラマーまたは前衛的なEmacs愛好家であれば、Eshellはあなたにとって完璧なLinuxシェルになることができます。

Eshellの機能

  • Eshellはスタンドアロンのターミナルエミュレータではなく、Emacsの機能を使用してマシンと通信する日常のシェルです。
  • 現在のところ、インタラクティブプログラムは直接サポートされていないため、別のANSI用語インスタンスで呼び出す必要があります。
  • 履歴の変更と相互作用に対するEshellのデフォルトのサポートは非​​常に優れており、構文はBashとZshにいくぶん似ています。
  • ユーザーは、 eshell-prompt-function を変更することにより、Eshellをカスタマイズできます。 変数。システムでのプロンプトの動作を定義します。

11。 rcシェル

rcシェルは、Bourneシェルと非常によく似た古典的なコマンドラインインタープリターです。ただし、Bourneシェルに比べるとややシンプルな構造になっています。これは、rcがshで使用されるALGOLのような構文ではなく、Cのような制御構造を使用するためです。このUnixシェルの主要な開発者であるTomDuffは、質の高いプログラミングと卓越した問題解決能力でよく知られています。

rcシェルの機能

  • rcは、バニラelseの代わりにif notスクリプト構造を使用し、Bourneシェルで使用するのと同じforループを提供します。
  • rcは型付けの分野が弱いですが、変数を操作するための強力なメカニズムが組み込まれています。
  • rcは適度に軽量であるため、Linux用の多くの従来のオープンソースシェルよりも高速です。
  • 例外処理、検索と置換のメカニズム、パターンマッチングなど、さまざまな機能を備えています。

12。 Scshシェル

Scheme ShellまたはScshは、LinuxやBSD以外のさまざまなオペレーティングシステムで使用できるポータブルなコマンドラインシェルです。これはSchemeプログラミングインターフェイスと階層化されており、実際のUnixプログラムを簡単に作成できるように設計されています。これは、アプリケーションおよび標準のオペレーティングシステムプログラム用の効率的なスクリプトを作成するために使用できます。パイプライン、入出力リダイレクト、シンボリックリンク、BSDソケット、正規表現パターン、さらに多くのエキサイティングな機能のサポートが組み込まれています。

Scshシェルの機能

  • Schemeシェルは、リスト、文字、文字列などの日常的なスクリプト構造をサポートする優れたライブラリを備えています。
  • ユーザーは、Schemeの正規表現、ドメイン固有言語(DSL)、または正規表現を操作する際の小さな言語のいずれかを使用できます。
  • このオープンソースシェルによって提供されるネットワーキングサポートは、他の多くのシェルと比較して、本当に一流で高速です。
  • その品質の抽象化は、疑似端末、スクリプト、マクロ、スマート検索などのawkをサポートし、その他多くの機能を置き換えます。

13。 Xonsh Shell

Xonshは、Pythonスクリプト言語を利用した現代のLinuxシェルです。 PythonインタープリターをUnixシェルとして使用できるかどうか疑問に思ったことがある場合は、Xonshを使用するとこれを正確に実行できます。この言語はPython3.5以降のスーパーセットとして構築されており、BashやiPythonで定期的に使用する多数のシェルプリミティブを提供します。さらに、彼らのWebサイトは本当に素晴らしく、新しいユーザーはブラウザからXonshをライブで試すことができます。

Xonshシェルの機能

  • Xonshは、Linux、Mac OSX、Windowsなどのさまざまなオペレーティングシステムをネイティブにサポートする健全な言語として開発されました。
  • このシェルのタブ補完機能は非常に優れており、manページの解析による補完もサポートしています。
  • Pythonに精通しているユーザーは、構文がPythonの構文に非常によく似ているため、Xonshが非常に適していることに気付くでしょう。
  • 箱から出してすぐに多くの日常のプリミティブを提供する非常に膨大なライブラリが付属しています。

14。ああシェル

Ohは、現代のLinuxユーザーにとって素晴らしいオープンソースシェルです。一見すると、従来のUnixシェルと非常に似ているように見えますが、プログラミングに関しては、それらとは異なります。 Golangを使用して開発されているため、Ohは高品質のネイティブ同時実行サポートを提供します。ただし、Ohのコアは、Schemeプログラミング言語の極端に変更されたインスタンスです。また、コード、データ、パイプ、チャネルに同じ構文を使用しているため、エンドユーザーはスクリプトでこれらを交換可能に使用できます。

オーシェルの機能

  • シェル自体はGoを使用して構築されていますが、プログラミング構造はSchemeプログラミング言語の方言です。
  • 並行性のサポートに関しては、Ohは最高のUnixシェルの1つです。
  • パイプに沿ったチャネルをファーストクラスの値として処理し、簡潔な構文構造を備えています。
  • ああ、パブリックメンバーとプライベートメンバーの両方を許可し、プロトタイプベースのオブジェクトシステムの基礎としてそれらを使用します。

15。エルフの貝殻

Elvishシェルは、数か月前に試したので、Linux用の最もお気に入りのオープンソースシェルの1つです。それはあなたがあなたのマシン上であらゆる種類のことをすることを可能にする本当に素晴らしいコマンドラインインタプリタです。システム自体の操作から雄弁なスクリプトの作成まで、エルフ語はタスクの広範なリストを実行するために使用できます。文字列操作、正規表現マッチング、JSON解析、ネットワーキングなどの堅牢な関数の豊富なライブラリが付属しています。

エルフシェルの機能

  • エルフのパイプラインを使用すると、システムはリスト、マップ、さらには関数などの構造化データを標準のテキストデータと一緒にストリーミングできます。
  • 使い慣れたCのような構文が付属しているため、経験豊富なLinuxユーザーにとってエルフ語のスクリプトは非常に直感的です。
  • エルフ語はGoプログラミング言語を使用して記述されているため、他のUnixシェルと比較して非常にタイプセーフです。
  • このUnixシェルには、システム管理をはるかに快適にするビルド済みのファイルマネージャーが付属しています。

終わりの考え

Linuxの成長するエコシステムによって提供される堅牢なオープンソースシェルが多数あるため、適切なLinuxシェルを選択するのは難しい作業になることがよくあります。このように、私たちの編集者はあなたが見つけることができるすべての人気のある選択肢を調べ、あなたのためにこの便利なガイドをまとめました。人々はさまざまな種類のシェルに対してさまざまな好みを持っているので、あなたにとって最良のものは完全にあなたに依存します。読者には、要件に基づいてこれらのシェルのいくつかを試して、実際に体験することをお勧めします。私たちのおすすめについてのあなたの考えにコメントを残してください。


Linux
  1. 私のLinuxの話:スペイン語でオープンソースをカバーする

  2. オタクが推奨するトップ5のオープンソースLinuxキャッシングツール

  3. Linux用の10のオープンソース軽量Webブラウザ

  1. Linux用の10の最高のオープンソース会計ソフトウェア

  2. Scribus –オープンソースのデスクトップパブリッシングソフトウェア

  3. Linux/オープンソースディストリビューションの簡単な歴史

  1. オープンソースツールを使用してLinuxPCハードウェアをアップグレードする

  2. Linuxサーバーを実行するための4つのオープンソースツール

  3. オープンソースを使用してLinux上にSDNを作成する