第12節 Linux,Unix系OSについて
Linux・UNIXとは
UNIX
現存する中で最も古いOS
1968年アメリカのAT&T社のベル研究所が開発したOS
windowsやmacのようにGUI(Graphical User Interface)によるアイコンやマウスでの操作するものではなく、CUI(Character User Interface)という文字(コマンド)での操作が中心のOS
※「x-windows system」を導入することでGUIによる操作が可能になる
はじめ、無料で公開していたが様々な種類のUnixがでてきて収拾がつかなくなりライセンス契約の形になった
Linux
1991年フィンランドのヘルシンキ大学大学院生だったLinus Torvaldsによって製作されたUINXと互換性が高いOS
Unix同様、CUIを採用しており様々なコマンドで端末を操作するOS
見た目や機能はUnixに似ているが中身はオリジナルで既存のOSのコードを流用せず、0から書き起こされた
UNIXとは違いオープンソース、改変も配布も自由にできる
googleが開発しているAndroidのスマートフォン用のOSはLinuxをベースにしているOS
ディストリビューションとは
ディストリビューションの基本的な構成要素は3つに大別される
・Linuxカーネル
・標準ライブラリ
・各種ソフトウェア
Linuxカーネルと標準ライブラリはバージョンの差ほどしかないが、各種ソフトウェアの部分はバージョンの差だけでなく日本語化されているかなど大きな差が出てくる
カーネル…OSの中核を構成するソフトウェア
動作中のプログラムの実行状態を管理したり、ハードウェア資源を管理してアプリケーションソフトがハードウェアの機能を利用する手段を提供したりする
・「Linux」はもともとはOSの基幹となる部分だけを指す言葉で、実際にLinuxをユーザーが使うためにはLinux以外にエディタやグラフィカルユーザーインターフェイス、コンパイラなどさまざまなソフトウェアが必要になる
・Linuxをユーザーが使うために必要なものを1つにまとめたものが「Linuxディストリビューション」や「Linuxディストリビューションパッケージ」、「ディストリビューション」という
・ディストリビューションを作る上での「プログラムを集める」集め方にはそれぞれ違いがあり、ディストリビューションの違いがうまれる
ディストリビューションの例
TurboLinuxやRed Hat Linux、Vine Linux、Kondora、MNU/Linuxなど
Windowsとの違い
・Windowsは最初からOSが入っているからパソコンを買って操作方法を覚えれば誰でもすぐに使えるが、Linuxはサポートもなく求められる知識の幅もとても広く根気強く勉強し続ける必要がある
・Windowsに比べてユーザー数が圧倒的に少ないのでウイルスも少なくウイルスソフトが必要ない
・Windowsは対応ソフトがたくさんあり、様々な周辺機器も問題なく使えるので不自由はしないが機能が多すぎて動作が重くなりやすい
Linuxの特徴
・Windowsはインストールやアップグレードの際お金を出さないといけないが、Linuxは常に無料(一部有料のものもあり)何台のパソコンにインストールしても新しいバージョンにアップグレードしても変わらず無料 ・世の中のウイルスは基本的にWindowsを対象にしていて、Linuxを対象にしたウイルスはほとんど存在しない。またLinuxはウイルス攻撃に対して強い構造になっているため安全 ・OSの中核となる部分とその他のプログラムを動かす部分が別になっているからプログラムがクラッシュしてもOS自体が影響を受けない。なので安定性は抜群 ・最低動作条件が低いから古いパソコンや低スペックパソコンでも快適に動作する ・Linuxは他のパソコンとの互換性が高くWindowsとMac両方のパソコンとデータのやり取りができる。Linuxで作ったデータが他のパソコンで読み取れないことも、他のパソコンのデータが読み取れないこともない ・オープンソースで世界中の団体や個人が開発、提供しているのでデザインや機能など選択できる種類が豊富
コマンドについて
コマンドとは、Linuxの操作を実行するために使う実行ファイルのこと
コマンドのLinux上での動作を細かく分析すると、以下のようになる
(1)シェルにコマンドを入力する
(2)入力された名前のファイルを検索する
(3)ファイルがプログラムとしてメモリにロードされる
(4)プログラムが先頭から実行される
コマンドの種類
・外部コマンド
例)manコマンド…マニュアルの表示を行うコマンド
・組み込みコマンド
例)historyコマンドシェルで実行したコマンドの履歴を表示させることができるコマンド
代表的なコマンド