1.シェルとは
(1)概要
シェルはユーザーがOSと対話するためのコマンドラインインタフェースのこと。ユーザーの入力したコマンドをOSが分かるようにする翻訳機。
(2)種類
Linuxはオープンソースのため、ユーザーの好み等であらゆる種類のシェルが生まれた。代表的なシェルは下記の通り。
シェル名 | 特徴 |
sh(シェル) | UNIXの標準シェルで最も基本的なシェル。 移植性が高い。 |
ksh(ケーシェル) | shの元後継機。コマンド履歴機能等を搭載。今はあまり使われないが、古い商用UNIXでは現役。 |
bash(バッシュ) | shの後継機。現在のデファクトスタンダード。 変数・配列・制御構文が協力。Linux標準。 |
csh(シーシェル) / tcsh(ティーシーシェル) | C言語に似た構文。教育や一部環境で利用されている。tcshはcshの拡張版。 |
zsh(ズィーシェル) | bashの拡張版で、現役。多機能なため、開発者に人気。 |
(3)シェルとコマンドの違い
項目 | シェル(Shell) | コマンド(Command) |
---|---|---|
役割 | コマンドを受け取り、解釈・実行する「環境」 | シェル上で実行される「命令」そのもの |
例 | Bash, Zsh, Fish など | ls , cd , echo , cp など |
関係 | コマンドを実行するためにシェルが必要 | シェルの中で動く |
機能 | コマンドの実行+制御構文(if, for, etc) | 単体で処理(ファイル一覧表示、コピーなど) |
たとえ話 | 司令室やオペレーター | 具体的な命令(「これを表示せよ」など) |
<まとめ>
・シェル = コマンドを「受け取って処理する場」
・コマンド = 実際に「処理をする道具」