自己啓発マン  2020/12/17更新

カーネルとシェル


linuxはOSではない?

linuxは一般的にはOSという認識が強いだろう

実際この認識は正しいのであるがlinuxという言葉だけでは他の意味も存在する

それがカーネルである


カーネルって何

カーネルとはOSを機能させる重要な部分である

会社で例えるなら社長のようなものでこの人がいないとそもそもOSとして機能しない

つまり

カーネルとはOSを成形する上で必ず必要な要素なのだ

しかしカーネルだけではパソコンは作動しない

人間だって社長だけで会社は成り立たないことがほとんどだ

カーネルとあらゆるソフトウェアが一体となって初めてOSとなる


ここでlinuxの話に戻る

一般的にlinuxと呼ばれているのはこのカーネルとあらゆるソフトウェアを組み合わせたものを読んでいる

しかしこのカーネルにも名称があり、それもlinuxである


つまりOSのlinuxとカーネルのlinuxが存在するのである


一般的にダウンロードしているのはOSのlinuxであり、その中身はカーネルのlinuxとあらゆるソフトウェアのことである


シェル

シェルとは簡単に言えば人間の命令をカーネルに伝えるものである

先ほどOSの説明で出てきたソフトウェアの一つである


人間があるアプリを開いて!と伝えたのをシェルがカーネルに伝えてくれる

カーネルが少し待ってと言ったらシェルがそれをデバイスを通じて人間に伝えてくれる


厳密に言えば以下の手順を行う


(1) プロンプトを表示してコマンド入力を受け付ける

(2) ユーザーから入力されたコマンドラインを受け取る

(3) コマンドラインを「コマンド」「引数」などに分解する

(4) ワイルドカードなどがあれば展開する

(5) コマンド・プログラムを検索し,引数を渡して実行する

(6) 実行したプログラムが終了するまで待機する

(7) プログラムが終了したら1)に戻る


一般的にシェルでは以下のものがある

・sh

・bash

・ksh

・csh

・tcsh

・zsh


OSを触っているとよく出てくるものである


そんなシェルにも派閥がある

赤色がsh派閥で、青色がcsh派閥である

紫は両方の派閥に属している


それぞれの派閥で特徴や使い方が似ている

sh派閥は元々shというシェルから派生したものが属しており基本的なシェルである

一方cshはc言語ぽい書き方をしているのでそのように呼ばれている



シェルスクリプト

シェルスクリプトとはバッチファイルのunix版である

ここでバッチファイルの説明をする


バッチファイル

人間がコンピュータに指示を出す時は基本的にはコマンドプロンプトから打ち込んで指示を出す

しかし同じような操作を何回もしたりあるコンピュータで作ったファイルを他のコンピュータでも作ろうとしたら

同じ作業を繰り返す必要がある

これを無くすのがバッチファイルである

バッチファイルにはコマンドプロンプトに打ち込むあらゆる命令文を一まとめにしたファイルである

めちゃ便利


つまりシェルスクリプトとはシェルで解釈できるあらゆる命令文が書いているファイルである




タイトルとURLをコピーしました