UNIX(Linux)のシェルの種類と機能、役割

shell

UNIX(Linux)でシェルとは、コマンドラインインターフェースのことです。

いわゆるコマンドラインで、命令を実行する際に使うインターフェースというかプロセスです。

MS DOSという、Windows以前のOSでは、COMMAND.COMというのが、コマンドラインインターフェースでした。

それでは、UNIX(Linux)には、どんなシェルがあるのが見てみましょう。

スポンサーリンク

sh (Bシェル, ビーシェル)

sh は、Bourne シェル(ボーンシェル)のことです。

AT&Tのベル研のスティーブン・ボーン(Stephen R. Bourne)によって開発されました。

初期のUNIXの標準シェルでした。

csh (Cシェル、シーシェル)

csh は、サン・マイクロシステムズの共同創業者の一人である、ビル・ジョイによって開発されたシェルです。

サン・マイクロシステムズについては以下をご覧ください。

消滅した(Defunctした)IT企業たち
IT業界では、一時代に注目されたけれど消え去ってしまった企業が沢山あります。 そんなこんなで、IT業界のパラダイムのシ...

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については以下をご覧ください。

Windows Anniversary Update (1607) 適用後、Excel出力プログラムでComExceptionが発生
2016年8月2日、マイクロソフトからWindows 10の2回目の大型アップデート「Windows 10 アニバーサリーア...

今後、新たに覚えるとしたら広く普及している Bash でよいと思います。

シェルの機能、役目

シェルの役目は、キーボードから入力されたコマンドを解釈して、実行し、実行結果を返すことです。

つまりシェルは、ユーザーとUNIXのOSのコアであるカーネルの間にたつインタープリタです。

シェルには、コマンドを実行する以外に、ヒストリー機能やコマンド補完機能があり、便利になっています。

また、シェルにはパイプやリダイレクションの役目もあります。

パイプやリダイレクションについては以下にまとめました。

標準出力と標準エラー出力を同時に(または別ファイルに)リダイレクトする方法
標準ストリーム(Standard Streams) 標準ストリームとは、UnixやWindowsのコマンドプロンプトにおいて、プログラムと...

まとめ

今後シェルを勉強するとしたら、Bash を勉強しましょう。

↓Bash についての参考書は沢山ありますね。
bash

スポンサーリンク
スポンサーリンク
Translate »