1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linux (シェルとカーネルについて)

Last updated at Posted at 2024-10-30

ディストリビュージョンとOS

ディストリビュージョンとは、OSの中核となるLinuxカーネルに加えて、コマンド群やアプリケーションなどを含めてユーザーがそのまま利用できるようにパッケージングされたもの。
これを広義にLinuxとも呼び、Linuxディストリビュージョンとも呼ばれる

仮想化させて動作させているOSのことをホストOSと呼ばれ、仮想化ソフトウェアによって実行する仮想的なOSをゲストOSと呼ばれている

シェル

シェルは、カーネルのインターフェイスプロセスの1つである。
シェル自体の役割はLinuxカーネルとユーザーとの橋渡しを主に行っている。

例として「date」というコマンドを実行した場合。
シェルは「date」というキーボードからの入力を受け取って、それをユーザーからの指示であると解釈する。
→ シェルはdateという文字列が指すコマンドを探し出し、カーネルに実行を依頼する。
→ カーネルがコマンド実行を終了するとシェルが結果を受け取ってユーザーの画面に出力する。

カーネルとシェルが分かれている理由

この理由について主に3点挙げられる。

  • カーネルは手に入れず、シェルだけを自分好みに変更させるため
  • Linux以外のOSを利用する際もシェルが移植されていれば同様に行うことができるため
  • シェルがエラーや高付加でクラッシュしたとしても、OS本体であるカーネルへの影響を最小限に抑えることができるため

プロンプト

プロンプトは、シェルが「何かコマンドを入力してください」と意思表示している状態のことを指す。
プロンプトの表記方法について「一般ユーザーは$、スーパーユーザでは#」で例示される。

シェルスクリプト

コマンドは直接操作するだけでなく、実行したいコマンド群を事前にファイルに記述し、そのファイルをシェルに指定することで一連のコマンドをまとめて実行することができる。
このような一連の操作の流れを記述したファイルのことをシェルスクリプトと呼ぶ。

シェルの種類について

sh

シェルスクリプトを記述する際に一般的に使用される。
ただし、古いシェルのため機能が少なく対話型に使うには非常に不便であることからログインシェルとしては使用されない。

csh

csh後継のtcshがあるため、ほとんど使用されることはない

bash

shを基本とし機能を拡張したシェル。
対話型操作を行う上で十分な機能を持ち、多くのLinux環境でデフォルトのログインシェルとして使用されている。シェルスクリプトを記述するためにも向いている。

tcsh

Cシェル系のシェルで、特に対話型操作で便利な機能を多く持つ。
しかし、シェルスクリプトの記述には向いておらず、一般ユーザのプロンプト記号は%が使われる。

zsh

他のシェルの機能を取り込み、独自の拡張を加えたシェルである。
機能面では優れているが、使いこなすのは時間がかかるため初心者向けのシェルではない。

シェルの選定

bashを利用することを勧められている
理由としては以下のものが挙げられる

  • Linuxのデフォルトログインシェルがbashであること
  • 対話的に使用する場合やシェルスクリプトを利用する場合でも優れていること
  • shとの後方互換性を持つこと
  • Linux以外でもMac OSなど多くの環境に移植されていること

シェルの一時的な切り替え

単に使いたいシェルを指定することで、使いたいシェルに切り替えることができる。
ex) sh bashなど

非ログインシェルから抜けるためにはexitと入力する。
また、ログインシェル自体を変更することもできるがコマンドを誤るとログインできなくなる可能性があるため、基本的にはbashのままで使用すること。

ターミナルとシェル

ターミナルは、ユーザーがコンピューターへ入出力する際に利用する専用ハードウェアのことを指す。
しかし、Linuxを使用するにあたりハードウェアとしてのターミナルは使用されることなく代わりにターミナルエミュレーターが使用される。

参考文献

新しいLinuxの教科書

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?