スライドショースライドショースライドショー

【エンジニア監修】Linuxとは何か?初心者目線でやさしく解説してみた

こんにちは!侍エンジニア塾ブログ編集部の井上です。

毎月数百人のプログラミング学習者の相談にのる機会があるのですが、プログラミング初心者の方が最初につまずくのがLinuxへの理解です。この記事を見つけてくださったあなたも

そもそもLinuxってなに?
WindowsやMac OSとはどう違うの?
知らない単語がバシバシでてくるんだけど…

と疑問だらけではないでしょうか?僕も最初にプログラミングを勉強し始めた時にLinuxを勉強する機会があったのですが、理解するのに時間がかかった記憶があります。難しいですよね。

でも安心してください。この記事を最後まで読めば、

  • Linuxとは何か?
  • Linuxを学習するべき人はどんな人か?
  • Linuxディストリビューションとは何か?
  • Linuxを使う上で覚えておきたい用語

について理解が進むことでしょう。この記事では、Linuxについて、初心者の方でもわかるように解説します。ぜひ最後まで読んでみていただければと思います!

それでは、早速解説していきますね!

そもそもLinuxとは何か?

Linuxの概要

Linuxは簡単にいうと、

  • Mac OS
  • Windows XP
  • Windows 10

などと同じOSです。OSとは、コンピューターのすべてのハードウェアを管理しているソフトウェアのことです。OSについては、こちらの記事で詳しく解説しております。

今さら聞けない!OSとは何か?〜基礎の基礎がわかる〜
更新日 : 2019年11月25日

Linuxはリーナス・トーバルズ氏によって開発され、1991年に最初のバージョンが公開されました。

当初はパソコン用に作られたOSでしたが、いまではスーパーコンピュータ、サーバー、組み込みシステム(携帯電話やテレビなど)など、大小さまざまなシステムで使われています。

自分で開発したWebアプリなどを公開する際、VPS(Virtual Private Server)を借りることになります。Linuxは、VPSにインストールできる標準的なOSです。

Linuxはこんな人におすすめ

Linuxは、主にサーバー用として使うOSです。以下のようなIT技術者として生きていきたい人にお勧めです。

  • OSを開発したい人
  • 大規模な基幹システムの開発者や運用者
  • ロボットや家電などの組み込み系エンジニア
  • ネットワーク機器やデータベースに関わるITサービス従事者

もちろん、もう少し軽く考えて、パソコンの操作に慣れていて、Webアプリを開発したい人にもお勧めです。Linuxを通常のパソコンとして使用することもできますが、パソコンの操作に慣れていない本当の初心者にはお勧めできません。

本当の初心者であれば、WindowsでもMac OSでもLinuxでも使い始めは分からないことが多く、誰かに聞きたくなるはずです。

WindowsやMac OSであれば、身近な人たち(家族や友達)に使っている人がいる可能性が高いと思いますが、Linuxでは、その可能性は非常に低いからです。

逆に言えば、Linuxを通常のパソコンとして使っている人が身近にいれば、本当の初心者でもLinuxに挑戦してみてもよいでしょう!

【エンジニア監修】Linuxとは何か?初心者目線でやさしく解説してみた
更新日 : 2019年10月8日

Linuxの特徴

多くのLinuxがある

Linuxは、Windowsなどとは異なり、多くのLinuxがあります。

  • Linuxカーネル

リーナス・トーバルズ氏が開発したLinux。

  • Linuxディストリビューション

Linuxカーネルと区別するための呼称。

Linuxカーネルは無料で、誰でも自由に配布できるため、様々な企業・団体がLinuxカーネルを基本にして、独自のLinuxディストリビューションを再配布しているのです。

たとえば、最新のデータセンターに適した最先端のオープンソース・プラットフォームとして利用できる「Red Hat Enterprise Linux」というLinuxディストリビューションがあります。

また、Amazon Web Services向けに、高性能で安定した安全な実行環境を提供するための「Amazon Linux」や、家庭・学校・職場で必要とされるワープロやメールソフトから、サーバーソフトウェアやプログラミングツールまで、あらゆるソフトウェアを含む「Ubuntu」なども有名なLinuxディストリビューションです。

後述する「Linuxディストリビューションとは」では、もっと多くのLinuxディストリビューションを紹介しています。

基本無料である

Linuxカーネルは無料であることは、すでに説明しましたが、多くのLinuxディストリビューションも基本的に無料で使用できます。Windowsは、Microsoft社が所有し管理していて、言うまでもなく有料ですね。

Mac OSはApple社が所有し管理していますが、Linuxと同様、基本的にOSは無料です。ただ、Mac OSがインストールされたPCを購入する必要があるため、総合的には有料と言えるでしょう。

そして、Linuxディストリビューションは基本的に無料ですので、WindowsやMac OSがインストールされていたPCにインストールしたり、VirtualBoxなどを利用して作成した仮想マシンにインストールしたりしても、費用はかかりません。

スペックの低いPCでも使える

Linuxをサーバー用として使用する場合は、他のOSに比べて低い性能のPCでも軽快に動作します。たとえば、Windows用としては使用できなくなったスペックの低いPCに、Linuxをインストールすると問題なく動作することがほとんどでしょう。

また、スペックの低いPCでもGUIが使えるようになっているLinuxディストリビューションもありますので、通常のパソコンとして使用したい場合は挑戦してみてもよいでしょう。

Linuxディストリビューションとは

Linuxを使用する場合は、基本的にはLinuxディストリビューションを使用します。ディストリビューション(Distribution)は「流通」や「配布」という意味の英語です。

Linuxディストリビューションは、Linuxのアプリケーションやライブラリをひとまとめにして、PCにインストールすれば使える状態にした配布物を指します。

ここでは、代表的なLinuxディストリビューションとして、Red Hat Enterprise Linux、Fedora、CentOSを少し詳しく紹介しますが、それ以外にも、以下のようなLinuxディストリビューションが配布されています。

気になるLinuxディストリビューションがあれば、挑戦してみてくださいね。

Linuxディストリビューション特徴
openSUSE(旧SUSE Linux)あらゆる場所でのLinuxの利用を目指し、安定して、使い易い、完全なる多目的なLinuxディストリビューション
Linux Mint洗練され、最新で快適なLinuxデスクトップを提供するLinuxディストリビューション
Vine Linuxコンパクトで軽量な日本語Linuxディストリビューション
Puppy Linux軽量化されたLinuxディストリビューション
Kali Linuxペネトレーションテスト(ソフトウェアなどの脆弱性を診断するときなどに行うテスト)を目的としたLinuxディストリビューション
Amazon LinuxAWS(Amazon Web Services)で使えるツールがインストールされているLinuxディストリビューション
Oracle LinuxOracle DatabaseやWeblogic ServerなどのOracle製品の運用環境を提供するLinuxディストリビューション
Scientific Linuxフェルミ国立加速器研究所(Fermi National Accelerator Laboratory)および欧州原子核研究機構(CERN)による、高エネルギー物理学分野で使用しやすいLinuxディストリビューション
z/LinuxIBMの製品であるSystem z上で動作するLinuxディストリビューション

なお、Linuxディストリビューションによっては、フレーバーと呼ばれる派生版があったり、サポート期間が長めに設定されたLTS(Long Time Support。長期サポート)と呼ばれるLinuxディストリビューションもあり、事情を複雑にしています。

まずは、以下で紹介する代表的なLinuxディストリビューションから1つ選んでインストールしてみてください。

1つのLinuxディストリビューションを試した上で、他のLinuxディストリビューションやフレーバー、LTSを試すと、違いが分かりやすくなり、自分にピッタリあうLinuxディストリビューションを見つけられるでしょう。

Red Hat Enterprise Linux (RHEL)

linux_redhat

RedHat社が開発した商用向けの最も有名なLinuxディストリビューションです。有償のため、「サポート」や「責任」という面で安心感があり、多くの企業で用いられています。

Fedora

linux_fedora

引用元:Fedora https://getfedora.org/ja/

Fedoraは、RedHat社が支援するFedora Projectによるコミュニティからリリースされているディストリビューションです。

リリースする頻度が高く、最新の技術を積極的に取り入れており、無償で使用できるところが大きな特徴です。

CentOS

linux_centos

CentOS(セントオーエス)はRed Hat Enterprise Linuxの完全互換を目指したLinuxディストリビューションの1つです。RedHatは、Red Hat Enterprise Linuxのソフトウェアのソースコードを無償で公開しています。

CentOSはこのソースコードを元に商用部分を取り除いて開発しています。大きな特徴として、

  • 無料であること
  • 長期に渡るサポート
  • 安定性のあるパッケージを使用することによる安定性
  • YUMとPRMによるパッケージ管理

などがあります。また、初心者でも使いやすく多くの企業で使用されています。

覚えておきたいLinux用語

ここではLinuxを使用するにあたり、エンジニアとして覚えておきたい用語をわかりやすく解説します。

Linuxカーネル(カーネル)

Linuxを調べるとよく出てくる用語ですね。Linuxカーネルは、リーナス・トーバルズ氏が開発したLinuxのことです。

Linuxカーネルは無料で、誰でも自由に配布できるため、様々な企業・団体がLinuxカーネルを基本にして、独自のLinuxディストリビューションを再配布しています。Linuxカーネルは以下のように構成されています。

  • プロセス管理
  • プロセス間通信
  • メモリ管理
  • ファイルシステム
  • ネットワーク
  • カーネルプリミティブ

パッケージ

Linuxが採用しているアプリケーションの配布形態です。Windowsでは、アプリケーションは「インストーラー」という形態で配布されていますね。対してLinuxでは、アプリケーションは「パッケージ」という形態で配布されているのです。

せっかくなのでインストール方法も紹介しておきましょう。Windowsでは、インターネット(Webページ)からインストーラーをダウンロードしてインストールしますね。一方Linuxでは、

  • RPM(RPM Package Manager)
  • Yum(Yellowdog Updater Modified)
  • Apt(Advanced Package Tool)
  • DFN(Dandified Yum)

と呼ばれるパッケージ管理ツールを使用して、パッケージをダウンロードしてインストールします。例えば、rpmコマンドでパッケージをインストールしたい場合は以下のようなコマンドを実行します。

# rpm -ivh 「パッケージ名」

ディレクトリ

ディレクトリは、ファイルを分類して整理・保存する入れ物のイメージです。Windowsではフォルダと呼ばれるものが、Linuxではディレクトリと呼ばれているという理解で問題ありません。

シェル

シェルは、Linuxへの命令文を入力するためのアプリケーションの総称です。Linuxの代表的なシェルはbashですが、それだけでなく、sh、ksh、zsh、csh、tcshなどもシェルです。

Windowsのシェルは、コマンドプロンプトやWindows PowerShellです。

コマンド

Linuxのシェルでは、Linuxに何を実行させるのかをLinuxへの命令文を、キーボードで入力します。コマンドは、このキーボードで入力する命令文のことです。

たとえば、シェルに「ls」と入力すると、ファイルの一覧が表示されます。この「ls」がコマンドの一種です。Linuxを使っていると、lsだけでなく、

  • cd:ディレクトリの移動
  • cp:ファイル・ディレクトリのコピー
  • rm:ファイル・ディレクトリの削除
  • vi:エディタの起動・ファイルの作成
  • rpm:パッケージのインストール
  • make:ソースファイルのコンパイル

などのコマンドもよく耳にするようになるでしょう。

サービス

Linuxが起動するときに自動的に起動するプログラムのことをサービスと呼びます。サービスごとに、様々な機能が提供されていますので、いくつか紹介しましょう。

    • Apache

Webサーバとして動作するサービス

    • Samba

Linuxで、Windowsのファイルサーバやプリントサービス、ドメインコントローラ機能、ドメイン参加機能を提供するサービス

    • BIND

DNS(Domain Name Service)サーバの機能を提供するサービス

ライブラリ

ライブラリは、よく使われるプログラムの共通部分を、他のプログラムから利用できるようにしたものです。過去には、ライブラリにぜい弱性が見つかって、多くのアプリケーションへの影響が、ニュースになることがありました。

有名なライブラリは以下のとおりです。

    • OpenSSL

インターネット上で標準的に利用される暗号通信プロトコルであるSSLおよびTLSの機能を実装した、オープンソースのライブラリ

    • NSS(Network Security Services)

セキュア通信を用いるソフトウェアの開発のためのクロスプラットフォームライブラリ

さあ、学んでみよう!

【初心者必見】Linux勉強するならコレ!学習サイト、方法、コツまとめ

全くの未経験の初心者でもわかるように、おすすめの勉強方法、勉強のコツがまとめてあります。Linuxについて体系的に学びたい人はこちらへ↓

【初心者必見】Linux勉強するならコレ!学習サイト、方法、コツまとめ
更新日 : 2019年6月24日

【完全保存版】Linux入門サイトおすすめ7選

Linux初心者の人が学習を進められるように入門サイトをまとめてあります。

これから学習を始めようと思っているけど何から手をつけていいかわからない

という人はこちらへ↓

ブクマ必至!Linuxコマンド一覧表【全33種】

こちらではまずはこれだけ覚えておけば大丈夫!というLinuxコマンド一覧表をご紹介しています。これからLinuxを触っていこうとしている人は、この1ページを覚える、またはブックマークだけでもしてみてください!

Linuxをさらに上達させ、実際の開発現場でゴリゴリ仕事したい方へ

ここでは、Linuxについて初心者向けに基本的な内容を解説してきました。Linuxは初心者にとって難しいイメージを持たれがちですが、使えるととても便利なOSです。特にコマンド操作に慣れてしまうと、Windowsのマウスによる操作が煩わしく感じてしまうほどです。

また、さらに学習を進めていくと実際の開発現場でも一目置かれるようなリードエンジニアとして活躍することもできます。

リードエンジニアは、チームの中でもサービスの継続的発展を実現するための技術力や、会社のサービス哲学を具現化するためのサービス開発力などを兼ね備え、圧倒的な主体性でサービスの成長に取り組む模範となるべき役割を担う役割です。

女性リードエンジニアとして会社を引っ張るような存在になれたらカッコイイですよね。そんなリードエンジニアを輩出するのが侍エンジニア塾です。とはいえ、いきなり入塾するのはハードルが高いと思いますし、入塾の必要がなく独学でいける方もいるかもしれません。

一人で学習をしていくのに不安を感じる・・・

このように思う人は、弊社侍エンジニア塾の無料体験レッスンで侍式の学習ノウハウを受け取ってみてはいかがでしょうか?今、無料体験レッスンを受講すると豪華3大特典をプレゼントしております!

  • 「最短1ヶ月で開発ができる学習方法」電子書籍(非売品)
  • 効率的なオリジナル学習カリキュラム
  • 未経験の転職を可能にするキャリアサポート

以下のカレンダーから1分で予約でき、オンライン受講も可能ですので、ぜひご活用ください。

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通して、プログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

cta_under_btn

書いた人

侍ブログ編集部

侍ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説