
カーネルとは?
LinuxにおいてOSの核になるプログラムで、「Linux」というのも、カーネルに付けられた名前になります。
いわば、OSそのものと言えます。
カーネルの主な機能
- ファイルシステム管理
- メモリ管理
- 仮想記憶
- プロセス管理
- ネットワーク管理
- デバイス管理
バージョン表記について
「2.5.11」のように表記します。
様々なバージョンが出ており、異なるバージョンのOSが世界に存在します。
「安定しているもの」、「安定していないもの」の差が大きいです。
ユーザーとの橋渡しについて
「カーネル」は直接はユーザーが操作することはできません。
その橋渡しをするのが、下記になります。
- シェル(CUI)
- X Window System(GUI)
昔のLinuxは、「シェル(CUI)」しかなかったのですが、最近だと「GUI」で操作することも当たり前になりつつありますね。
コンテナ
ホストOSとカーネルを共有するので起動が速くなります。
仮想マシン
ホストOSとゲストOSでカーネルを共有しないので起動が遅くなります。
「ディストリビューション」とは?
Linuxは、「カーネル」がコア部分で非常に重要なプログラムにはなるのですが、それだけではLinuxを利用することができません。
他にも、アプリが利用するソフトウェアだったり、ユーザーインターフェイス部分だったりが必要です。
Linuxに、それらライブラリや、インターフェイスをセットにした製品を「Linux ディストリビューション」と呼びます。
Linux ディストリビューションの全体像
ディストリビューションの特徴
ディストリビューションの構成要素はほとんどがオープンソースソフトウェアになります。
ディストリビューションの種類
Red Hat系
RedHatにより開発されたRedHat Linuxをベースに開発されたLinuxです。
代表的名ものとして、「Fedora」や、「CentOS」等があります。
Fedora(フェドーラ)
レッドハット社の支援を受けたFedoraプロジェクトによって、半年に一回ペースで開発が続けられています。
CentOS(セントオーエス)
Red Hat Enterprise LinuxのクローンOSで最も人気のあるOSです。
RHELとはほぼ100%の互換性があり、ほぼ100%のセキュリティアップデートを追従しているので、かなり人気が高いです。
Red Hat Enterprise Linux(RHEL)
Fedoraの成果を取り入れて、企業システムでも使えるように安定性を求めたLinuxです。
サポートがあるため有償になりますが、サポートの手厚さから様々な企業が導入しています。
Debian系
Debianプロジェクトというコミュニティで開発されています。
Ubuntu
初心者に使いやすいように、GUI機能が充実しており、かなりDebian系の中では人気のディストリビューションです。
半年に1回アップデートされています。
シェルとは?
ユーザーとカーネルの橋渡しをしてくれる、LInuxのCLIを提供してくれるソフトウェアであり、ユーザーがLinuxを利用する上で必要なプログラムになります。ユーザーが普通にコマンドを実行できるのも、「シェル」があるためです。
イメージとしては
イメージとしては下記のような感じです。
シェルの種類
シェルには、下記のようにディストリビューションによって色々種類があります。
シェル | 説明 |
---|---|
sh | 最も古いシェルでほぼ全てのUnixで利用できる標準シェルです。機能自体は少ないです。 |
bash | コマンド履歴、ディレクトリスタック、コマンド置換機能、コマンドファイル名の補完機能等の様々な機能をサポートする高度なシェルです。LinuxもMacも標準搭載です。 |
csh | C言語によく似ているシェルで、BSD系OSでよく利用されています。 |
tcsh | cshの改良版で、コマンドやファイル名の自動補完機能があります。 |
zsh | bashと互換性があるシェルで、高速に動作します。独自の拡張も追加しています。 |
Linuxの標準シェルとしては「bash」になります。
OSをインストールした際に、デフォルトでbashはインストールされます。
「echo $SHELL」と実行することで、「/bin/bash」と出力されています。これでbashを利用していることがわかります。
ログインシェル
なお、ユーザーがログインした際に実行されるシェルである「ログインシェル」もデフォルトでは「/bin/bash」が動いています。
/etc/passwd」を見れば、ユーザーがどのシェルをログイン時に実行しているかわかります。
シェル変数とは?
シェルの動作設定をする変数のことです。
シェル変数を確認する。
setコマンドで確認することができます。
シェル変数の種類
シェル変数 | 説明 |
---|---|
PS1 | プロンプトに表示させる文字を設定する。 |
HISTSIZE | ヒストリとして保存するコマンドの最大件数を指定する。 |
SHELL | ログインシェルを格納する。 |
この記事へのコメントはありません。