プロのカウンセラーがキャリアの悩みを解決! 無料キャリア相談はこちらから

これで一発理解!LinuxとUnixの違いを徹底解説

作成: 2017.02.03 更新: 2018.10.10

>>No.1エンジニア養成プログラム テックキャンプ

読むだけでIT転職が有利になる限定資料はこちら

ITに関わっている人であればUnixとLinuxという言葉を少なくとも1回は聞いたことがあることでしょう。

しかしその実体を詳しく知っているという方はあまり多くないかもしれません。私も最初これらは一体何者なのかよくわかりませんでした。

このページでは、そういったUnixとLinuxに初めて触れるという方にでもわかりやすく説明しています。

全て読むことで、UnixとLinuxの違いなどの基礎知識、どのようにこれから使っていくのかが理解できるでしょう。

【入門】Unixとは?Linuxとは?

PCタイプ

Unix、Linuxという言葉は耳にしたことがあるけどこの2つの違いは?というよりそもそもUnixとLinuxってなに?という疑問にまずはお答えします。

そこでUnixとLinuxの比較をする前にそれぞれの特徴を見ていきましょう!と行きたいところですが、

まずその前にOSについて解説します。Unix とLinuxはどちらもOSと呼ばれるものの一種なので、まずはOSについての理解を深めましょう!

OSとは

Operating System(オペレーティングシステム)の略をOSと言います。

OSはパソコンのもっとも基本的な機能を制御しているソフトウエアであるため、「基本ソフトウエア」と呼ばれるソフトウエアの一種に分類されています。

例えばキーボードやマウス・タッチパネルなどから入力した情報をアプリケーションに伝えるという、コンピューターシステム全体を管理する役割を果たしてくれています。

パソコンにしてもスマートフォンにしても、ハードウエアを操作するにはこのOSが必要で、絶対的に不可欠な存在なのです。

よくOSを「脳」、パソコン本体を「体」と例えることがあります。

まさしくOSは「脳」として司令塔の役割を持っており、CPUやメモリ、ハードディスク、キーボード、周辺機器に至るまで、パソコン内のハードウエア全てを「体」のように管理しています。

パソコン向けのOSとして広く知られているものには、WindowsMac OSなどがあり、スマートフォンやタブレットには、Android OSiOSがあります。

今回のテーマであるUnixLinuxは、企業などが使うこともあるサーバー向けの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です。

GUIとCUI

GUI

出典: CUIとGUI

GUI(Graphical User Interface)とは、ファイル操作がグラフィカルに表現されているインターフェースのことです。

コンピューターグラフィックとマウスやトラックボード、タッチパネルなどを用いて、直感的な操作を可能にします。

WindowsやMac、スマートフォンやタブレットなどのデジタル機器は、ほぼ全てGUIを構成しています。さらに広く言えば、銀行のATMやカーナビなど、簡単に操作できる機器やシステムもGUIです。

 

CUI

出典:CUIとGUI

CUI(Character User Interface)とは、情報の表示を文字によって行い、すべての操作をキーボードを用いて行うインターフェースのことです。

命令コマンドを打つことによりファイル操作やアプリケーションの起動を行います。

UnixやLinuxの操作の基本はこのCUIによって行います

WindowsやMac OSとの関係は

MacとWindows

出典:エンジニア就活

まず、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」の名称で最初の製品版を販売したのです。

オンラインで無料キャリア相談!無理な勧誘は一切致しません

テックキャンプ エンジニア転職は、未経験からのエンジニア・Webデザイナー転職を実現するスクールです。

テックキャンプは、オンラインでプログラミング学習が可能。「徹底したサポート」と「やりきらせる学習環境」をオンラインでも提供しています。

転職成功率は99.0%※2019年8月末時点。学習完了後、当社の転職支援利用者の転職成功率

キャリアに悩んだら、テックキャンプの無料オンラインカウンセリング(キャリア相談)を受けてみませんか?あなただけのキャリアプランが作れます。

オンラインカウンセリングのやり方は簡単なので、ぜひご利用ください。

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はこれからも利用され続けるものであり、特にLinuxにいたっては企業での利用が大変多くなってきているOSです。

開発の現場ではこれらに関する知識は不可欠で、「サーバーサイドエンジニア」、「インフラエンジニア」といった職種では必ずLinuxを扱う場面が出てきます。そのためさらに深い知識が要求されるでしょう。

紹介させていただいた通り、Linuxは無料で配布されているものなので、いますぐインストールしてみると良いかもしれません。

自宅にいながら、プロのカウンセラーにキャリア相談!

テックキャンプ エンジニア転職は、未経験からのエンジニア・Webデザイナー転職を実現するスクールです。転職成功率は99.0%。※2019年8月末時点。学習完了後、当社の転職支援利用者の転職成功率

テックキャンプでは、オンラインでカウンセリングや学習サービスを提供しています。

オンラインでも、テックキャンプならではの「徹底したサポート」と「やりきらせる学習環境」は変わりません。オンラインでプログラミングを習得した方のインタビューはこちら

キャリアに悩んだら、ビデオ通話で無料オンラインカウンセリング(キャリア相談)を受けてみませんか?オンラインカウンセリングのやり方は簡単で、5分もあれば準備が完了します。

まずはカウンセリングから、ぜひご利用ください。

無料カウンセリングの詳細はこちら

この記事を書いた人