シェルについて
シェルとカーネル
カーネルとはOSの中核になる部分、ハードウェアを管理している。
シェルはカーネルとアプリケーションの仲介役で、ユーザがカーネルの機能を使うのに必須。
つまりシェルはとても大事な役割をになっている。
シェルの種類
・sh
Bシェル。デファクトスタンダード。シェルスクリプトはBシェルの文法が使われることがほとんど。
・csh
Cシェル。C言語をモデルとして設計されている。対話機能はshと違って強い。
・ksh
Bシェルの上位互換。shの貧弱な対話機能をCシェルの対話機能を参考にBシェルを拡張したもの。
・tcsh
Cシェルの拡張版。コマンドラインでの編集機能、補完が凄い。
・bash
Bシェルの上位互換。Linuxでは標準シェル。Linuxなどでは/bin/shは/bin/bashへのシンボリックリンクになっている。
・zsh
kshを元にCシェルやbashの機能も含んだシェル。最強だとかなんとか。
echo $SHELL
とやってみるとどのシェルが現在仲介役なっているかわかります。
私はzshを使っています。いいですよzsh。
シェルの機能
上記で紹介したBシェルやCシェルなどすべてが持っているシェルの基本機能
・標準入出力先の切り替え(リダイレクション)
・ある出力結果を別の入力として使う(パイプ)
・ファイルにコマンドを書き、ファイル名を指定することでコマンドとして使う(シェルスクリプト)
Bシェルの上位互換であるbashにはほかにも便利な機能がある。
・過去に入力したコマンドを表示(ヒストリ機能)
・既にあるファイルやディレクトリの名前補完(補完機能)
・ワイルドカード
・コマンドの名前を変える(エイリアス)
これらはタイプ量を少なくしたり、コマンドを覚えやすくしたりととても便利な機能。