UNIX(Linux)でシェルとは、コマンドラインインターフェースのことです。
いわゆるコマンドラインで、命令を実行する際に使うインターフェースというかプロセスです。
MS DOSという、Windows以前のOSでは、COMMAND.COMというのが、コマンドラインインターフェースでした。
それでは、UNIX(Linux)には、どんなシェルがあるのが見てみましょう。
目次
sh (Bシェル, ビーシェル)
sh は、Bourne シェル(ボーンシェル)のことです。
AT&Tのベル研のスティーブン・ボーン(Stephen R. Bourne)によって開発されました。
初期のUNIXの標準シェルでした。
csh (Cシェル、シーシェル)
csh は、サン・マイクロシステムズの共同創業者の一人である、ビル・ジョイによって開発されたシェルです。
サン・マイクロシステムズについては以下をご覧ください。
C言語に似たシェルスクリプトを実行させることが出来ることからCシェルと呼ばれるようになりました。
BSD系のUNIXの標準シェルです。
tcsh (TCシェル, ティーシーシェル)
tcsh は、Cシェルの上位互換のあるシェルです。
FreeBSD 4.1以降の標準シェルであり、FreeBSDの流れを組むMacOSでもMac OS X v10.2までは標準のシェルでした。
MacOS でもv10.3以降は、Linuxの標準シェルであるBashがデフォルトのシェルとなりました。
ksh (Kシェル, ケーシェル, コーンシェル)
ksh は、AT&Tのディビット・コーン(David Korn)よって開発された、SVR系のUNIXの標準シェルです。
IBMのUNIXであるAIXのデフォルトのシェルも ksh です。
Bash (バッシュ)
Bash は、GNUプロジェクトによるシェルで、Bourne Again の頭文字です。
初期のUNIXのシェルである Bourne Shell の生まれ変わり (born again) にひっかけた名前です。
Bash は1987年、ブライアン・フォックスによって開発されました。
Bashは、Linuxの多くのディストリビューションの標準のシェルであり、Mac OS X v10.3以降の標準シェルです。
ちなみに、Windows 10でもAnniversary Update後、Ubuntu の Bash が使えるようになりました。
Anniversary Updateについては以下をご覧ください。
今後、新たに覚えるとしたら広く普及している Bash でよいと思います。
シェルの機能、役目
シェルの役目は、キーボードから入力されたコマンドを解釈して、実行し、実行結果を返すことです。
つまりシェルは、ユーザーとUNIXのOSのコアであるカーネルの間にたつインタープリタです。
シェルには、コマンドを実行する以外に、ヒストリー機能やコマンド補完機能があり、便利になっています。
また、シェルにはパイプやリダイレクションの役目もあります。
パイプやリダイレクションについては以下にまとめました。
まとめ
今後シェルを勉強するとしたら、Bash を勉強しましょう。
↓Bash についての参考書は沢山ありますね。
bash
さくらのVPSサーバー
↓月額685円からの低価格&高パフォーマンスのVPS、さくらのVPSはコチラ
SSDプランが月々685円から使える!さくらのVPS
コメント
初めまして。
シェルについて色々勉強させていただきます!