#コマンド実行の流れ
例えばlinuxで date
というコマンドを実行した場合、実行結果は以下のようになります。
$ date
2019年 11月 17日 日曜日 12:42:31 JST
なんてことないコマンドですが、このコマンドを例にしてLinuxが実際どのような流れでコマンドを実行しているかを確認したいと思います。
- キーボードに
date
コマンドを打ち込む -
date
コマンドを探す - 見つかったコマンドを実行する
3.1 日時が表示される
上記の中で、シェルの仕事は『カーネルにプログラム実行を依頼する』ことです。つまり1と2がシェルの仕事ということになります。
一方カーネルの仕事が、コマンドを実行することで、上記の3と3.1にあたります。日時の表示まで含めてコマンドの機能なので、日時が表示されるは3.1としています。
Linuxは本体がLinuxカーネルとシェルに分かれていることで、シェルを自在にカスタマイズしたり逆に同じシェルの移植されている別のOSを自由に扱えたりするのです。
#あとがき
コメントで特にシェルの役割について指導を頂いたのでがっつり引用してその他気になった場所を訂正しました。(がっつり引用は『』の文)
特にこちらの記事を参考にさせていただきました。