Linuxの概念
Linuxには広義のLinuxと狭義のLinuxが存在します。
それらについて詳しく説明していきたいと思います。
狭義のLinux
Linuxは狭義ではLinuxカーネルのことを指します。
Linuxカーネルとは
→OSの核となる部分でOSの基本機能の役割を担うソフトウェアのことで
実際にはCPU、メモリなどのハードウェアの管理(制御など)・入力したコマンドの実行を処理するためのプロセス管理を行います。
そのため、Linuxカーネル内にカスタマイズしたい内容を折り込むのではなく、カーネルの外部をシェルというもので包むようにして、そこを自分好みにカスタマイズすることで操作を行います。
プロセス管理とは
多くのOSでは、複数のプログラムを同時に並行しながら実行できるマルチタスク機能が搭載されており、Linuxも対応しています。
ここで肝心なのは、Linuxカーネルはあくまでもコンピューターのハードウェアの制御を行うソフトウェアであって、Linux全体の実際のツールやアプリケーションは含まれていないという点である。
広義のLinux
広義のLinuxとはLinuxカーネル(狭義のLinux)に加えて基本的なコマンド群やアプリケーションなどユーザーがそのまま利用できるように包装化(パッケージング)したものも含まれている。
このようなものをLinuxディストリビューションといい、広義のLinuxとなる。
LinuxとUNIX思想
またLinuxは
・小さいことはいいこと
・一つのことをうまくやる
・すべてはファイルで構成されている
という点でUNIXの思想が深く織り込まれています。
まとめ
これらをまとめると
狭義のLinux
→コンピューターのハードウェアの制御を行うソフトウェアであるLinuxカーネル
広義のLinux
→Linuxカーネル+基本的なコマンド群・アプリケーションを含んだもの
これらをまとめたものがLinuxディストリビューション
Linuxコマンドについて
Linuxには様々なコマンド(命令するもの)が存在する
→コマンドによって様々な処理をおこなうことができる
→また目的の処理を行うコマンドがない際には、単純なコマンドを組み合わせることによって複雑な処理を行うというのもLinuxの特徴である
エラーメッセージが表示された時は成長するチャンスであり、そのメッセージの内容を理解し、一つずつ対処していくことが大事である
Linux内のコマンドが実行される仕組み
Linux内で次のようなコマンド入力をしてみたとする。
[ryutake@localhost ~]$echo Hello,World!
するとその結果として、
Hello,World!
と表示される。
実際にコマンド入力したらシンプルかもしれない。
しかし、この中にでは様々な処理が行われているのである
この仕組みで出てくるもの
・ディスプレイ(パソコンの画面)
・キーボード(入力用途)
・Linux内部
仕組み
echo Hello,World!
①キーボードから入力された文字列(echo Hello,World!)をLinuxが受け取る
echo
②その文字列に対応したコマンド(実行したい処理の依頼→ここではecho)を探す(Linux内)
③Linux内で見つけたコマンドを実行する(Linuxカーネルが行う)
Hello,World!
④処理結果がディスプレイに表示される(Hello,World!)