シェル(sh, csh,bash,zsh)の変遷と何を使えば良いのかについて。

NO IMAGE

Macを使い始めたのですが、使いこなすには詳しくLinuxの学習が必要だなと思い、メモします。

一口にシェルと言っても様々な種類があって、どれを使うべきか迷ってしまいます。

ただ、その歴史的変遷を見てみると、どれを使うべきかわかってきたので、記録しておきます。

シェルを説明する前に、Linuxについて簡単に説明させてください。

Linuxとは

Linuxという言葉には、広義のLinuxと狭義のLinuxの意味の両方が含まれています。

本来はLinux、ハードウェアの制御だけを行うソフトウェアのみを示す(狭義のLinuxもしくは、Linuxカーネル)ですが、ユーザーが使えるようにコマンドやアプリをパッケージングしたものを広義のLinuxと呼びます。

そして、狭義のLinuxである、Linuxカーネルをユーザーが操作する、インターフェイスがシェルです。

簡単に言えば、シェルさんという秘書を介してでないと、カーネル社長には話すことができないということです。

シェルの種類と変遷

下記の図のような変遷で作られています。(代表的なシェルのみ列挙)

これを見ると、オレンジ色のBシェル系と 青色のCシェル系に分かれていることがわかります。

それぞれに長短があるのですが、新しくなるたびに、そのデメリットを克服していることが分かります。

なお、現在Macではzshがデフォルトのシェルとして使われています。

参考サイト

補足:ログインシェルとは

Linuxにログインしたり、Macでコマンドプロンプトを起動した際に、勝手にシェルが起動したと思います。

この際にLinuxが自動的に(ログイン時に)最初に起動されるシェルのことをログインシェルと言います。

で、どれを使えば良いのか?

迷っているならばbashやzshで良いのではないでしょうか。

Linuxで幅広く使われていますし、書籍もbashで書かれているものが多い気がします。

なので、bashを使うことがおすすめです(私見+新しいLinuxの教科書より)。

なお、Macではデフォルトでzshが設定されているため、変更が必要です。

その点に関してはこちら。