(Linux) シェルとは【初学者向け】

linux-what-is-shell

 

シェルが何なのか、初学のころよく分かんなかったので、メモ

 

シェルとは

 

シェルとはLinuxカーネルへ命令を伝えるプログラムのこと

コンソールに「ls」と打つと、ファイル一覧が表示できたり、
「cd」と打つとディレクトリ移動ができたりするのは、
シェルがカーネルに上記の命令を伝えてくれているから

linux-shell-image

カーネルとは

 

カーネルとはOSの中核となるプログラムのこと。

OSは多くのプログラムから成り立ち、コンピュータ自体を制御している。
その中でも特に重要なポジションなのが、カーネルと言うプログラム。

linux-kernel

普段はあまり意識することはないし、する必要もないが、
カーネルがあるおかげで、PC上のプログラムを安全に扱うことができる。

しかしこのカーネル、複雑な機械の会話しかできないので、
普通だと、人間が取り扱うことはできない

シェルの役割

 

そこで、人間とカーネルの間に立って、人間からの命令を解釈し、カーネルへと伝達してくれるのが、「シェル」と言うプログラム。

「ls」や「cd」「cp」など、人間が分かり安い形でコンピュータに命令を出すことが可能だ

上記「ls」などは、単体では「コマンド」と呼び、
集めて一度にコマンドを実行できるようにしたものを「シェルスクリプト」と呼ぶ

 

 

シェルの種類

 

シェルと言っても種類がいくつかある。
有名なのは「sh」「bash」「csh」「zsh」などのシェルだ。

多くのlinux環境では「bash」を使っているのではないだろうか

linux-shells-image

 

ちなみ「chsh」と言うコマンドで、使用中のシェルを切り替えることができる。

 

余談:コンソール = シェルではない

 

Macならターミナル、WindowsならTeraTermなどのアプリから、
linuxサーバへsshログインし、コマンドを打つことが多いかと思う。

この時コマンドを打ち込んでいる黒い画面(コンソールと呼んだりする)は、
シェルではないので、注意。

と言うのも筆者が初学者のころ、シェルの立ち位置?がそもそも分かんなかった記憶があるので、、(こんなことで悩むのは筆者だけか、)。

とにかく「黒い画面=コマンドでPCを操作できる=シェル」と言うちょっと誤った解釈をずっと持ったままいたので、余談程度に書いておく

 

 

シェルまとめ

 

 

シェルとは

Linuxカーネルへ命令を伝えるプログラムのこと
→人間とカーネルの間に立って、人間からの命令を解釈し、カーネルへと伝達してくれる

カーネルとはOSの中核となるプログラムのこと
→人間からの要求は、シェルを介して受け入れる

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。