どのLinuxシェルが最適ですか? 5つの一般的なシェルの比較
Linuxでbashシェルを使用して満足していますか?または、別の方法を試してみませんか? tsch、fish、KornShell、およびZShellから選択できます。しかし、これらの人気のあるLinuxシェルのどれが最適ですか?
Linuxシェルとは何ですか?
通常、アプリケーションを作成するときは、人間が理解できる高級言語で作成されます。これらの例としては、C#、Java、C ++などがあります。信じられないかもしれませんが、コンピューターはすべてを1として0として、または一般的に知られているように、バイナリコードまたはマシンコードとして認識します。
次に、コンパイラは高級言語を実行可能ファイルのようなバイナリファイルに翻訳します。このバイナリファイルは、上記のアプリケーションを起動するために実行するものです。
さて、これは何が起こるかについての非常に高レベルの見方です。お使いのコンピューターには翻訳レイヤーが必要であることを忘れないでください。これは、あなたが指示していることと、それをどのように理解できるかとの間にあります。
シェルはインタプリタとして知られているものです。コンパイラと同様に、インタプリタは人間のコードを機械語に変換します。違いの1つは、インタプリタが一度に1つのステートメントを実行することです。その間、コンパイラはプログラム全体をスキャンし、すべてをマシンコードに変換します。
したがって、シェルは、オペレーティングシステム(OS)と対話するためのインターフェイスです。シェルにコマンドを入力すると、それらのコマンドを解釈して魔法を発生させる責任があります。ファイルのコピー、パイピング、ファイルの一覧表示などの操作はすべてシェルの権限の範囲内です。
いくつかのLinuxシェルが利用可能です。システムで使用可能なすべてのシェルを見つけるには、ターミナルを開いて次のように入力します。
cat /etc/shells
現在使用しているシェルを確認するには、次のように入力します。
echo $0
しかし、最高のLinuxシェルを使用していますか?何が利用できるか見てみましょう。
1.バッシュ
これは、Linuxユーザーの間で最も人気のあるシェルです。 Bourne-Again Shell(bash)が方程式の一部でないと、シェルについて考えることすら困難です。多くのLinuxディストリビューションでは、bashがデフォルトのGNUシェルであるため、デフォルトのシェルとしてbashが付属しています。 1989年にリリースされ、その背後にある数十年の健全な発展も誇っています。
Bashの前身は、オリジナルのUnixシェルの1つであるThe Bourne Shell(sh)です。 shプログラマーにとって魅力的な機能の1つは、スクリプトを直接移植して、まったく変更せずにbashできることです。 Bashは、その前身にいくつかの拡張機能も提供します。
- コマンド補完
- コマンド履歴
多くの場合、オンラインドキュメントでは、bashを使用していると想定しています。ただし、bashスクリプトを作成したことがある人なら誰でも証明できるように、欠点がないわけではありません。何かができないということではなく、読み書きが必ずしもエレガントであるとは限らないということです。
2. KornShell
一般にkshとして知られているKornShellは、1980年代にベル研究所から生まれた人気のある代替Linuxシェルです。 bashとkshの違いはそれほど多くありませんが、それぞれにわずかな利点があります。たとえば、Kshにはcdoldnewコマンドがあります。 / Downloads / foo / bar / one / foobarディレクトリにいる場合 / Downloads / foo / bar / two / foobarにアクセスする必要がありました 次のように入力するだけです:
cd one two
kshのベテランは、スクリプトの利点に言及することで、kshの優位性を主張します。これらには以下が含まれます:
- より良いループ構文
- コマンドを繰り返す自然な方法
- 連想配列
bashとは異なり、オンラインでkshのヘルプを見つけるのは困難です。 kshを試してみたい場合は、次のように入力します。
sudo apt install ksh
ksh
3. Tcsh
Tcshは、そのルーツをUnixの初期にさかのぼることができます。これは、Cシェル(csh)の改良版であり、機能は次のとおりです。
- プログラム可能なコマンドライン補完
- コマンドライン編集
- エイリアスに引数を追加する
- 簡単なコマンド履歴アクセス
!n と入力すると、任意のコマンドを実行できます 表示された履歴でnを対応する番号に置き換えます。 tcshの[履歴]タブの補完は、次のように入力することで機能します:
!a<TAB>
これは、文字「a」で始まった最後のコマンドに展開されます。比較すると、bashでは、!a:pと入力する必要があります。 最初にコマンドを表示し、次に !!を表示します 実行します。
tcshを試すには、次のように入力します。
sudo apt install tcsh
tcsh
Tcshは、FreeBSDのようなBSDベースのシステムのデフォルトのシェルです。 tcshの大きなセールスポイントは、主にCでプログラミングしている人に役立つスクリプト言語です。これにより、tcshは、使用しているブラケットなどに混乱することなく、小さなCプログラムのプロトタイピングに役立ちます。この問題は、Cプログラミングとシェルスクリプトを継続的に切り替える場合に発生する傾向があります。
4.魚
Linuxのすべての深刻さの中で、fishのチームはプロジェクトにユーモアのセンスを組み込んでいます。彼らのウェブサイトでは、「ついに、90年代のコマンドラインシェル」と書かれていますが、魚( " f 友好的に私 インタラクティブなsh ell ")は2005年に開発されました。宣伝されている「GloriousVGA Color」以外にも、他のシェルに比べていくつかの機能強化があります。
- 構文が無効なコマンドは赤で表示されます
- 正しい構文は青色で表示されます
- オートコンプリートの提案
- マシンのマニュアルページに基づいたコマンド補完。
この機能は、新しくインストールされたソフトウェアのマニュアルページからオートコンプリートの提案に構文を追加します。コマンドラインに慣れたい場合は、魚から始めるのが最適です。
魚の内容をサンプリングするには、次のように入力します。
sudo apt install fish
fish
5.Zシェル
多くの人は、これが最後に最高のシェルを残していると考えますが、これは完全に理解できます。 Zshはbashやkshと類似しており、tcshだけでなくそれらに見られる機能の多くを組み込んでいます。 Zshの機能:
- ナビゲート可能なオートコンプリートリスト
- 優れたスペル修正
- コマンドライン補完
- 端末間で共有される履歴
- グロブ(ファイル名のワイルドカード文字)
zshでのグロブは非常に便利です。入力:
vim /u/l/b/a<TAB>
ファイルを開きます:
/usr/local/bin/autoupdate.sh
デフォルトの構成を使用しない場合、Zshは最初の使用時に構成するのに時間がかかることがあります。試してみるには、次のように入力してください:
sudo apt install zsh
zsh
どのLinuxシェルが私に最適ですか?
これらのオプションが利用可能であるという事実は素晴らしいです。それぞれがコンピューティングの歴史を垣間見ることができ、プログラマーは自分たちのやり方で物事を作りたいと決心しました。
これらのシェル間の実質的な違いは、スクリプト構文にあります。各シェルには、それらを互いに分離する特定のニュアンスのセットがあります。現状では、bashが市場シェアの点で支配的であり、ヘルプの検索がはるかに簡単になります。 Bashは、最も高度なユーザーを除くすべてのユーザーのニーズを満たす、単に最高のオールラウンダーです。
Linuxシェルに落ち着いたら、シェルスクリプトの基本に精通していることを確認してください。
-
Windows 10にBash(Linuxシェル)をインストールして使用する方法[チュートリアル]
WindowsでLinuxシェルを設定して使用する方法は次のとおりです– Linux用Windowsサブシステムを使用します ( WSL 。 このチュートリアルは、2020年以降の最新バージョンのWindows10を対象としています。古いソフトウェアを使用するべきではないため、古いバージョンのWindows10でWSLを使用する方法やWindows8/7 / XP/3.1の他の方法については説明しません。 Windowsを使用する必要がある場合は、セキュリティパッチをまだ受けているバージョンを使用してください! WSL は優れたツールであり、Linuxを離れたことがないかのよ
-
Windows 10 に Linux Bash シェルをインストールする方法
Bash Shell は、非常に長い間 Linux の一部であった単純なコマンドライン ユーティリティであり、現在、Microsoft はそれを Windows 10 に直接追加しています。これは、仮想マシンでも、コンテナーでも、Windows 用にコンパイルされたソフトウェアでもありません。代わりに、Linux ソフトウェアを実行するための完全な Windows サブシステムであり、Windows で Android アプリを実行するための Microsoft の廃止された Project Astoria に基づいています。 これで、デュアルモード オペレーティング システムとは何かがわか