Linuxは主にサーバー用として利用されるOSです。大規模な基幹システムの開発者、ロボットや家電開発等の組み込み系エンジニア、ネットワーク機器やデータベースに携わるインフラエンジニアは触れることが多いでしょう。そんなLinuxをイチから学習する方に向けて、「Linuxとは何か?」「Linuxの基本」をご説明します。
Linuxとは?
Linuxとはなにか?
一言でいうと、Linuxとは下記に挙げる「OS(オペレーティングシステム)」の一つです。
代表的なオペレーティングシステムの種類
- Windows(ウィンドウズ)
- macOS (マックオーエス)
- 無償UNIX(ユニックス)
- Linux
- BSD
- etc・・
- 有償UNIX(ユニックス)
- Solaris(ソラリス)
- AIX(Advanced Interactive Executive)
- HP-UX(Hewlett-Packard:HP)
- etc・・・
- Tron(トロン)
- Andloid(アンドロイド)
- iOS(アイ オーエス)
- etc・・
中でもLinuxは、主にサーバー用途として利用される機会の多いOSでしたが、現在ではサーバー用途を超えて、家電、車、ゲームなどIoT分野の組み込みOSとしても利用され始めています。
今後はさらに、大規模な基幹システムの開発者、ロボットや家電開発等の組み込み系エンジニア、ネットワーク機器やデータベースに携わるインフラエンジニアは触れることが多くなるでしょう。
LinuxOS(カーネル)についての詳細は、下記のリンクページを参照してください。
Linuxの歴史
LinuxはWindowsやmacOSといったOS(オペレーティングシステム)のひとつです。CUI(キャラクタユーザインターフェース)ベースのOSであり、コマンドを実行することでPCを操作します。CUIはWindowsのコマンドプロンプト、macOSのターミナルに相当するもので、いずれのOSでもCUIでの操作は可能です。
また、LinuxはGUI(グラフィカルユーザインターフェース)での操作にも対応しています。GUIはマウスやタッチパッドを用いてファイルをドラッグアンドドロップするなど、視覚的にPCを操作する方式です。普段、PCを利用するほとんどのユーザーはGUIでPCを操作しています。
Linuxは、1991年にリーナス・トーバルズが自身の学習用のOSとして原型を開発しました。その後、リーナス・トーバルズはLinuxをOSS(オープンソースソフトウェア)として世界中に公開しています。
公開されたLinuxは、多くのエンジニアの手により開発・改良が進められ、実用性、利便性の高さから、世界中の多くの企業で利用されるようになりました。 Linuxは現在もOSSとして公開されており、世界中のエンジニアによって開発、改良が行なわれています。
ディストリビューションとは?
ディストリビューションはLinuxの配布形態(種類)のことを指します。そもそもLinuxとは、カーネル(OSの核となる機能)の名称です。ディストリビューションは、Linuxカーネルをベースとして、ユーザーが利用しやすいようにパッケージ化されたものを指します。
ディストリビューションは多くの種類が存在しますが、主流はRedHat系のCentOS、Debian系のubuntuの2つです。多くの企業では主にRedHat系OSが採用されています。
無償で使用できる
LinuxはOSSであるため、無償で誰でも利用することができます。個人でソースコードの解析を行うことも、カスタマイズすることも可能です。Linuxが公開後も現在まで独自の発展を遂げています。
OSSとは?
オープンソースソフトウェア(英: Open Source Software、略称: OSS)とは、利用者の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再配布が可能なソフトウェアの総称です。
UNIXとの違い
UNIXは商標が登録されており、Linuxのようにソースコードは公開されていません。UNIXを学習するためには流通しているUNIX OSを購入する必要があります。加えて、UNIXと名乗るためにはライセンス料も必要となります。
UNIXを学習することで、Linuxの理解を深めることは可能ですが、これからLinuxの学習を始める場合は、最初からLinuxを使って学習することをおすすめします。参考までに、UNIX OSはSun Microsystems社のSolaris、身近なところではApple社のmacOSもUNIXをベースに作成されています。
Linux基礎知識(全12記事)
├─Linuxとは何か? Linuxの基本概要を理解しよう!
├─Linuxをインストールし、ログインしてみよう!
├─起動の仕組みとカーネルについて!
├─ディレクトリ構造とファイルシステムについて!
├─ユーザー環境(ユーザー、グループ、パスワード)の設定について!
├─ディレクトリ操作について!
├─ファイル操作について!
├─テキスト操作について!
├─Linuxの基本コマンドを覚えよう!
├─適切なアクセス制御を付与してみよう!
├─リンクとiノードについて理解を深めよう!
└─LVMとは?LVMを理解しよう?