シェルとは、キーボードから入力された文字(コマンド)を解釈し、実行するプログラムであり、プログラムが返す実行結果を表示するのもシェルの役割です。つまりシェルというのは、ユーザとカーネルの間の通訳のようなものです。
シェルには、sh、bash、csh、tcsh、ksh、zshなど、さまざまな種類があり、Bシェル系とCシェル系に分けることができます。
Bシェル系のshはUNIXの標準シェルともいえますが、シェルとしての基本的な機能しか持っていないため、その後、機能を拡張したkshやzshが開発されました。LinuxではBシェル系のbashを標準搭載しており、/bin/shがbashへのシンボリックリンクになっているものまであります。
同様にBシェル系のshを元にスクリプト構文をC言語のプログラミング風にアレンジし、配列を使用可能としたCシェル系のcshが登場し、ヒストリ編集機能やライン編集などを追加して高機能化したtcshへと派生しました。
シンボリックリンクとは、ひとつのファイルを、別のディレクトリ位置や別の名前で表す方法です。WindowsのショートカットやMacOSのエイリアスに似ています
このように多くのシェルが存在するわけですが、特にどれを使用すべきというものはなく、使い慣れたシェルがあるのならそのシェルを使い、初めて触るなら標準のシェルを使用するとよいでしょう。それぞれのシェルには、いわゆる「方言」があり、あれもこれもという使い方は、混乱を招くことになりかねませんので、決して賢明とは言えません。
シェルには、単にカーネルに入力指示を伝えるだけでなく、そのほかにも多くの機能があり、ユーザの入力支援をしてくれます。Linuxで標準搭載されているbashというシェルを例にとって、その機能の一部に触れてみましょう。
本コンテンツは「UNIXコマンド辞典 ビギナー編」(2003年)を元にWeb用に再編集したものです
All Contents copyright © 2003-2009 Odyssey Communications Inc., Shoeisha Co., Ltd.