「Unixとは?Linuxとの違いを知りたい」
「WindowsやMac OSとの関係は?」
こう考えていませんか?
本記事では、UnixとLinuxに初めて触れる方に向けて、それぞれのOSについてわかりやすく解説。この記事を読めば、UnixとLinuxの違いや、これからどのように使っていくのかが理解できるでしょう。
この記事の目次
【入門】Unixとは?Linuxとあわせて解説
Unix、Linuxという言葉は耳にしたことがあるけどこの2つの違いは?というよりそもそもUnixとLinuxってなに?という疑問にまずはお答えします。
そこでUnixとLinuxの比較をする前にそれぞれの特徴を見ていきましょう!と行きたいところですが、
まずその前にOSについて解説します。Unix とLinuxはどちらもOSと呼ばれるものの一種なので、まずはOSについての理解を深めましょう!
OSとは
Operating System(オペレーティングシステム)の略をOSと言います。
OSはパソコンのもっとも基本的な機能を制御しているソフトウエアであるため、「基本ソフトウエア」と呼ばれるソフトウエアの一種に分類されています。
例えばキーボードやマウス・タッチパネルなどから入力した情報をアプリケーションに伝えるという、コンピューターシステム全体を管理する役割を果たしてくれています。
パソコンにしてもスマートフォンにしても、ハードウエアを操作するにはこのOSが必要で、絶対的に不可欠な存在なのです。
よくOSを「脳」、パソコン本体を「体」と例えることがあります。
まさしくOSは「脳」として司令塔の役割を持っており、CPUやメモリ、ハードディスク、キーボード、周辺機器に至るまで、パソコン内のハードウエア全てを「体」のように管理しています。
パソコン向けのOSとして広く知られているものには、WindowsやMac OSなどがあり、スマートフォンやタブレットには、Android OSやiOSがあります。
今回のテーマであるUnixとLinuxは、企業などが使うこともあるサーバー向けのOSと言えるでしょう。
Unixとは
Unix(ユニックス)とは、現存する中で最も古いOSです。
しかし、古いながらもWindowsやMacと同様に開発の分野の最前線で活躍しています。
大きな特徴は、OSの安定性が高く、ネットワーク機能に優れているということです。そのため、長時間にわたって動かす必要のあるコンピューターなどに利用されています。
例えば、大型計算機やネットワークサーバーのOSとしてはUnixが圧倒的に多くなっています。
「UNIX」という名称の商標権はThe Open Group という業界団体が保有しており、この団体が策定した共通仕様を満たしていると認められたOSだけが正式に「UNIX」と名乗ることができます。
また、この認証を受けたUNIXのほかに、UNIX風の使用や操作感、振る舞いのOSはたくさんあり、それらを「UNIX系」や「UNIXライク」と呼びます。
Linuxとは
Linux(リナックス)はUnixを参考に作られているUNIX系OSです。パソコンやスマートフォン、そして多くのサーバーで利用されています。
大きな特徴は、フリーソフトウエアとして公開されていること、誰でも自由に開発、入手、使用、改変、再配布などができることです。
また、Linuxは他のOSと比べて、低い性能のコンピューターでも軽快に動作するという強みを持っています。
他にも、ネットワーク機能やセキュリティーに優れ、非常に安定しているという特徴も持ちます。
LinuxもUnixと同様にさまざまな場所で使われており、スマートフォン用のOSであるAndroidはLinuxをベースとして作られたOSです。
Linuxでできることは「【初心者向け】Linuxとは?できることやおすすめディストリビューションも紹介」で解説しています。
GUIとCUI
出典: CUIとGUI
GUI(Graphical User Interface)とは、ファイル操作がグラフィカルに表現されているインターフェースのことです。
コンピューターグラフィックとマウスやトラックボード、タッチパネルなどを用いて、直感的な操作を可能にします。
WindowsやMac、スマートフォンやタブレットなどのデジタル機器は、ほぼ全てGUIを構成しています。さらに広く言えば、銀行のATMやカーナビなど、簡単に操作できる機器やシステムもGUIです。
出典:CUIとGUI
CUI(Character User Interface)とは、情報の表示を文字によって行い、すべての操作をキーボードを用いて行うインターフェースのことです。
命令コマンドを打つことによりファイル操作やアプリケーションの起動を行います。
UnixやLinuxの操作の基本はこのCUIによって行います。
Unix・LinuxとWindows・Mac OSとの関係性
出典:エンジニア就活
まず、WindowsはUnixやLinuxとはほとんど関係はありません。
歴史をさかのぼってみますと、MicrosoftはWindows発売の前に、MS-DOSというCUIのOSを発売していました。
ところが、1984年にAppleから発売された2代目Macintosh(Macintosh 512K)でマウス操作が主体のGUIが実装されており、人気はMacintoshが集めていました。
Microsoftでも、グラフィカルベースの画面表示で操作できるGUIのOSが必要と考え開発を進められたのが、「Windows」です。
一方、Mac OSはUnixと親戚の関係にあります。というのも、Mac OSはBSD系Unixをベースに開発されたからです。
もともとMacは自社開発の独自OSを入れて動いていたのですが、Windowsに圧され市場を取ることができなかったために仕方なく独自OSを諦めて、Unixをベースとして改良を加えるに至りました。
そしてAppleは2001年に「Mac OS X」の名称で最初の製品版を販売したのです。
UnixとLinuxとの違い
ここまでUnixとLinuxそれぞれの特徴についておさえてきましたので、ここからこの2つを比較していきたいと思います。
歴史
1960年代、アメリカのAT&T社のベル研究所にてMulticsというOSが開発されました。当時、Multicsは画期的でありさまざまな技術革新をもたらしましたが、たくさんの機能を載せたのが誤算となり、想定外に巨大で複雑なものとなってしまいました。
しかし、この開発に携わったベル研究所のケン・トンプソンは、この失敗を糧に新たなOSを作ります。それが「UNICS」です。
UNICSという名前は、Multicsのmulti(複)に対してuni(単)という意味が込められており、名称から小さくシンプルなOSだということが分かります。
そして、その後「Unix」と改称されました。このUnixはアメリカ国内の企業、大学、政府機関で用いられるようになり急速に普及しました。
一方、Linuxは、1991年にヘルシンキ大学の学生リーナス・トーバルズによって開発されました。
当時教育用として学校の授業で渡されていたMinix はUNIX系OSですが、機能に非常に乏しいものでした。そのため、トーバルズは新たなOSを作り上げることにしたのです。
UNIXは、著作権のために勝手に改変するのに手続きが面倒だったため、トーバルズはUNIXを参考にゼロから作りました。それがLinuxです。あくまで参考にしたまでなので、AT&T社のソースコードは使用されていません。
似ている点
今まで見てきた通り、UnixとLinuxはかなり似通っています。
・ CUIベースのOS
・ 高い信頼性と安定性
・ 低コスト(Linuxにいたっては無料)
・ 企業のサーバーOSとして活用されている
これは歴史の場面で確認したように、LinuxがもともとUnixを参考にして作られたからと言えるでしょう。
異なる点
UnixとLinuxの大きな違いは、Linuxがオープンソースソフトウエアとして広く公開・配布されており、GPLというライセンス体系に基づいて誰でも入手し、改変などが可能であるということです。
まとめると、以下の通りです。
・ Unixは企業が開発して、知的財産権が企業に属している。
・ Linuxはオープンソースソフトウエアで無料な上、配布や改変も自由。
これらのほかに細かく見ていけば、実装や各種メッセージの違いに気付きますが、現時点ではこれだけ知っておけば十分でしょう。
この記事のハッシュタグ
コマンドを学ぶ
コマンドとは
コマンドとは、ユーザーがキーボードなどで特定の文字列を入力してコンピューターに与える命令のことを言います。
UnixやLinuxなどCUIをベースとしたOSの操作は基本的にこのコマンドによって行われます。
初めてコマンドに触れるという方は、コマンドの種類や意味、オプションなど覚えるのが大変そうと感じてしまうかもしれません。
しかし、日常的に使うコマンドは数が限られており、また使っていく中で自然と身につくものなので、身構えることなく学習してもらえればと思います。
それではよく使うコマンドをまとめましたので、少しコマンドに触れてみましょう。
基本的なコマンド集
先ほど言った通り、コマンドにはたくさんの種類があります。その中でもここでは基本となる、ファイル操作に関するLinuxコマンドの紹介をしていきます。
・cd コマンド ( change directory )
: ディレクトリの移動を行います。
$ cd [ディレクトリ名]
をたたくことで、[ディレクトリ名] のディレクトリに移動します。
・ls コマンド ( list segments )
: ファイルやディレクトリの情報を表示します。
$ ls
をたたくことで、現在いるディレクトリ内のファイルやディレクトリを一覧で表示します。lsコマンドにはたくさんのオプションがあるのでぜひとも調べてみてください。
・pwd コマンド ( print working directory )
: 現在のディレクトリの場所を確認します。
$ pwd
をたたくことで、今自分がどこのディレクトリで作業しているのか表示します。
・rm コマンド ( remove )
: ファイルやディレクトリを削除します。
$ rm [ファイル名]
をたたくことで、[ファイル名]のファイルを削除します。
・mkdir / rmdir ( make directory / remove directory )
: ディレクトリの作成/削除をします。
$ mkdir [ディレクトリ名]
をたたくことで、[ディレクトリ名] のディレクトリが作成され、
$ rmdir [ディレクトリ名]
をたたくことで、[ディレクトリ名]のディレクトリが削除されます。ただし、指定したディレクトリの中身が空でないとrmdirコマンドでは削除できません。
ディレクトリ以下全てのファイルやディレクトリを削除したい場合は、rmdir/s [ディレクトリ名] で削除してください。
・cp コマンド ( copy )
: ファイルをコピーします。ディレクトリをコピーしたい場合は、xcopyとたたきます。
$ copy [コピー元ファイル名] [コピー先ファイル名]
<
をたたくことで、[コピー元ファイル名] のファイルを [コピー先ファイル名] として複製できます。
・mv コマンド ( move )
: ファイルやディレクトリの移動・名前の変更をします。
$ mv [移動元ディレクトリ名・ファイル名] [移動先ディレクトリ名]
をたたくことで、ディレクトリやファイルを移動させることができます。
・cat コマンド ( concatenate )
: ファイルの内容を表示します。複数のファイルを連結して出力させることもできます。
<
$ cat [ファイル名①] [ファイル名②]
をたたくことで、2つのファイルを結合できます。ファイルを1つだけ指定すると、単にその内容を表示します。
以上が代表的なコマンドです。
これらコマンドにはオプションが用意されており、オプションも使いこなせるようになると、快適な操作が可能です。
また、今回紹介させていただいたコマンドは全体のほんの一部にすぎません。
全てを覚えるのは難しいと思いますが、これらのほかのコマンドも勉強していただくと、さらに操作の幅が広がるでしょう。興味がある方は、ご自身で学んで使いこなしていって欲しいです。
そこで、以下の3書籍を紹介させていただきます。
おすすめ書籍(初心者向け)
・新しいLinuxの教科書
・入門者のLinux −素朴な疑問を解消しながら学ぶ–
・小さな会社の新米サーバー/インフラ担当者のためのLinuxの常識
これらの書籍はコマンドのみならず、Linuxについての情報ももちろん掲載しております。初心者の方にも理解しやすい書籍となっておりますので、ぜひとも手にとってみてください。
また、勉強する際は、ご自身のパソコンで実際に手を動かしながら進めると効率的に理解できると思います。
Windows・Chrome OSのLinux対応が進む
Linuxはオープンソースで開発されているOSであり、使用には別途PC本体が必要です。OSをインストールする端末自体は安価なWindows PCというケースが多いです。
Windowsでは、Windows 10から「Windows上でのLinuxの実行」が正式サポートされました。
またGoogleが開発する「Chrome OS」を搭載するChromebookもLinux対応を進めています。
Windows 10から「WSL(Windows Subsystem for Linux)」が提供開始
Windows 10からWSL(Windows Subsystem for Linux)の提供がスタート。2018年1月のアップデート「Windows 10 Fall Creators Update」から正式版に。
β版から対応していたUbuntuを含め、以下のディストリビューションが利用可能になりました。Linuxパッケージの導入は、Microsoft Storeから無料でできます。
- Ubuntu
- openSUSE Leap 42
- SUSE Linux Enterprise Server
- Fedora
- Kali Linux
- Debian GNU/Linux
Microsoftは公式サイトの「Frequently Asked Questions」で、WSLを「主に開発者。特にウェブ開発者や、オープンソースプロジェクトに関わる開発者のためのもの」としています。
Chrome OSのLinux対応がスタート。正式対応はGoogle Pixelbookからスタート
Googleは2018年5月8日の「Google I/O 2018」で、Chrome OSのLinuxの正式サポートを発表しました。
ChromebookはGoogle Chrome上で動作するWebアプリの他、Androidアプリの実行に正式対応済み。Linux対応が完了することで、Android StudioをChromebook上で動作させることが可能になります。
Linux対応はまずはGoogle Pixelbookからスタートし、段階的に他社製のChromebookの対応が進む予定です。
Unix・Linuxの知識は開発現場ではマスト
Unix/Linuxはこれからも利用され続けるものであり、特にLinuxにいたっては企業での利用が大変多くなってきているOSです。
開発の現場ではこれらに関する知識は不可欠で、「サーバーサイドエンジニア」、「インフラエンジニア」といった職種では必ずLinuxを扱う場面が出てきます。そのためさらに深い知識が要求されるでしょう。
紹介させていただいた通り、Linuxは無料で配布されているものなので、いますぐインストールしてみると良いかもしれません。
はじめての転職、何から始めればいいか分からないなら
「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。
「自分がIT業界に向いているかどうか」など、IT転職に興味がある方は無料カウンセリングにもお気軽にお申し込みください。