就活生向け|Linux入門のために必要な基礎知識!

就活生向け|Linux入門のために必要な基礎知識!
今やスマホ・家電製品など、私たちの身近なところで利用されているLinux。IT業界を目指す学生さんであれば、耳にしたことがあるはずです。Windowsの技術者に比べるとまだ人口の少ないLinuxの技術者ですが、多くの企業が導入を進めている技術であり、これからますます需要は高まっていくでしょう。 この記事では、「そもそもLinuxって何?」「どんなことができるの?」という疑問をお持ちの方のために、Linuxの基礎知識や学習するメリット、活かせる業界、環境の準備、覚えておきたい用語、学習方法など、Linux入門として役立つ内容を解説します。

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

1. Linuxの基礎知識

まず、Linuxの基礎知識として、概要や特徴、Linuxの種類などについて解説します。

Linuxの概要

Linux は1991 年にフィンランド人のリーナス・トーバルズ 氏がもともとは趣味としてUNIXをベースに開発したOS(オペレーティング・システム)です。UNIXは1969年に米国で開発され既に商用OSとして広く有償で利用されていますが、Linuxは後発とはいえオープンソースで基本的に無償なため、急速に人気が出て市場に広まりました。現在ではクラウドや組み込みシステムなどさまざまな分野で使われています。

Linuxの特徴と種類

Linuxの特徴

オープンソースである
Linuxの最も大きな特徴は、オープンソースであるということです。WindowsやUnixなどと異なり、開発元のMicrosoft社などの企業にライセンス料を払う必要がないため、特に複数のサーバーのOSとして利用する際にはトータルコストを大きく下げることができます。また、オープンソースなため、自由にカスタマイズができる点も魅力です。

 

動作性がよく、安定している
Linuxはもともとカスタマイズしやすいようにシンプルに設計されており、比較的性能の低いコンピューター上などでも速く動作させることができます。
また、ネットワークやセキュリティなどが強固に設計・実装されているため、安定して動作することも特徴です。実際に、多くの企業のシステムやWebサイトなどでLinuxが使われており、信頼性のあるOSです。

操作性がCUIベース

Linuxでは、基本的に操作をCUI(Character User Interface)で行います。具体的にはコマンドなどの文字をキーボードでタイプし、コンピューターに指示を出します。一方で、Windowsなどで見慣れたグラフィカルで視覚的なGUI (Graphical User Interface)も最近は多く使われており「CentOS GNOME」「Ubuntu Desktop」などのデスクトップ環境が有名です。

Linuxの種類

Linuxにはさまざまな種類があり、種類のことをディストリビューションと呼びます。
ディストリビューションには、商用向けや個人向けで扱いやすいものなどいくつかの系統がありますが、ここではRed Hat系とDebian系と呼ばれる系統の主要なものを紹介します。

 

Red Hat Enterprise Linux(Red Hat系)
Linuxで商用向けとしては最も有名なディストリビューションです。大規模で高い信頼性が求められるシステムなどで多く使われています。そのため、Linuxの中ではコストも高いです。

 

CentOS(Red Hat系)
Red Hat系のディストリビューションで、Red Hatの商用向けサービスなどの有償部分を省いた無償のクローンOSです。内容はほぼRed Hatと同様でありながら費用がかからないため、「開発環境で安く使いたい」「Red Hatのスキルを身につけたい」といった場合などに使われます。

 

Debian(Debian系)
Debian系は、オープンソースの開発コミュニティに世界中のボランティアが参加することなどが特徴で、Red Hat系とは流れが異なります。DebianはRed Hatのように企業向けサポートはないため、個人利用やシステムの要件が厳しくない場合に利用されます。

 

Ubuntu(Debian系)
Debianをベースに、ユーザフレンドリーなGUIを強化するなど、扱いやすくしたものがUbuntu です。近年急激にユーザーが増えており、初心者には最も入りやすいディストリビューションです。

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

2. Linuxを学習するメリット

次に、Linuxを学習するメリットについて解説します。

ITの基盤であるインフラスキルを身につけることができる

Linuxは多くのITシステムのインフラとして利用されています。Linuxの技術を習得することで、インフラ構築で必要とされる貴重なスキルが身に付きます。また、Linuxのインフラスキルがあると、システムやソフトウェアの開発の際に自分でOSの環境を用意することができ、Dockerやクラウドを用いる場合でもLinuxの基礎知識は足がかりとなるでしょう。

活躍できる場が多くある

Linuxは、個人が開発する小規模なプロジェクトから、信頼性の求められる証券取引所や、高い性能が必要とされるスーパーコンピューターまで、幅広い業界で使われています。今後もLinuxが活用される業界は広がると考えられており、Linuxの知識・スキルがあると将来にわたって活躍できると言ってよいでしょう。

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

3. Linuxの技術を活かせる業界

前述の通り、Linuxは非常に幅広い業界で使われています。その中でもLinuxならではの技術を活かせる代表的な業界を紹介します。

組み込みシステム業界

組み込みシステムとは、エアコンやテレビなどの家電や、デジカメ・カーナビ・カラオケ機器などさまざまなハードウェアに組み込まれているシステムのことです。Linuxの特徴であるライセンスが無償であることや、カスタマイズがしやすいため各機器に応じたシステムの開発ができることから、活用される分野が広がっています。

 

組み込みシステムを開発する技術者は組み込みエンジニアと呼ばれており、今後も需要が高まっていくでしょう。

モバイル端末/ゲーム業界

スマートフォンやタブレットといったモバイル端末のOSであるAndoroidはLinuxをベースに開発されており、多くのアプリがAndoroid上で開発されています。

また、ゲーム業界でのLinuxの採用も増えています。PlayStation4のOSはLinuxがベースであり、さまざまなオンラインゲームもLinux上で開発されています。

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

4. Linux環境の準備

次に、Linux環境を準備する方法について、ステップを踏んで解説します。
Linuxは私たちの身近なところで利用されているものの、Windowsほど一般的ではないため、触れたことがない方も多いでしょう。Linuxの環境構築を自分で行い、実際にLinuxの画面に触れたりコマンドを打ったりすることで、知識が深まり技術の習得に繋がります。

Linuxを動かすコンピューターの準備

まず、Linuxを動かすためにはコンピューター環境を準備する必要があります。特殊なハードウェアは必要なく、WindowsやMacOSが動いているパソコンが1台あれば十分です。

仮想環境の準備

次に、仮想環境を準備します。パソコンでLinuxを動かすためには、起動時にLinuxかWindowsなどの既存OSを選択するデュアルブートと言われる方法と、既存OS上に仮想環境を構築して、その上でLinuxを動かす方法があります。今回は、より入門者向けの「仮想環境上でLinuxを動かす」方法を紹介します。

パソコンが準備できたら、まず既存のOS上でLinuxが動作できるようにする仮想環境ツールをダウンロードして設定します。

ここでは、ORACLE社のVirtualBox(無償)を例として紹介します。

まず、ORACLE社のサイトからVirtualBoxをダウンロードします。VirtualBoxの起動後、既存OS上で動かす仮想マシンの作成設定を行います。仮想メモリや仮想ハードディスクなどの設定を行い、最後にLinuxの名称などの指定と、起動するLinuxのファイルがある場所を指定すると、仮想環境の完成です。

※参考:Oracle VM VirtualBoxダウンロードページ

Linuxのインストール

最後にLinuxのインストールを行います。
ここでは、初心者向けのUbuntuを例に、パソコンの仮想環境上にLinuxをインストールする手順を紹介します。
まず、サイトからフリーのUbuntuをダウンロードします。そして、ダウンロードしたファイルをVirtualBoxが読み込める指定の場所に置き、ファイルの読み込みが成功すると、インストールが開始されます。最後に、使用ドライブのパーティションやスーパーユーザーとパスワードなどを設定するとインストールが完了します。

今回は、入門者向けとして既存OS上の仮想環境上にLinuxをインストールする例をご紹介しました。そのため、既存OSがネットワーク上で動いていることを前提としており、ネットワークの設定などは含まれていません。
仮想環境を使わずに、Linux専用のパソコンなどへのインストールを行う場合は、別途TCP/IPをベースとする「IPアドレス」「ネットマスク」「ゲートウェイ」「DNSサーバー」などのネットワーク設定が、セキュリティリスク軽減のためにも必要となることを留意しておきましょう。

※参考:Ubuntu Desktop 日本語 Remixのダウンロードページ

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

5. Linuxの基本的な使い方

次に、Linuxの基本的な使い方について解説します。

CUI操作

前述のとおり、LinuxはWindowsなどのGUIと異なり、CUIと言われるコマンドを中心とした操作を行います。したがって、コマンドなどを覚える必要があり、操作の習熟が求められます。ただし最近では「CentOS GNOME」「Ubuntu Desktop」などのGUI環境が使われるようになってきており、Windowsライクのグラフィカルな操作も併用可能です。
以下では、3つの用途別に基本的なコマンドを紹介します。

ファイルやディレクトリの操作

ファイルやディレクトリ(フォルダ)の移動やコピー・削除などを以下の代表的なコマンドで行います。

cd
ディレクトリ(フォルダ)移動を行う。
使用例:cd 移動先フォルダ名


ls

フォルダの内容をリスト形式で表示する。
使用例:中身を見たいフォルダに移動して ls


pwd

現在のフォルダの位置を表示する。


find

ファイルの検索をする。
使用例:find / -name ファイル名


mkdir

フォルダを作成する。
使用例:mkdir フォルダ名


mv

ファイルを移動させる。
使用例:mv 移動元 移動先


cp

ファイルやフォルダをコピーする。
使用例:cp コピー元 コピー先


tail

ファイルの末尾の部分を表示する。
使用例:tail ファイル名


cat

ファイルの内容を表示する。
使用例:cat ファイル名


rm

ファイルやフォルダを削除する。
使用例:rm ファイル名またはフォルダ名

パーミッションの操作

Linuxではパーミッションの操作をきめ細かく設定することができ、主に以下の2つのコマンドで設定を行います。


chmod

ファイルやフォルダのアクセス権限を変更する。
使用例:chmod 権限 ファイル名


chown

ファイルやフォルダのオーナーやグループを変更する。
使用例:chown 変更したいユーザー名 変更したいファイル名

エディター

viはLinuxでファイルを編集する時の基本的なコマンドで、viエディターとも言われます。必ず覚えておきましょう。


vi

ファイルの編集をする。
使用例:vi ファイル名
(なお“vi“のみでファイル名が無い場合は新規作成となります)

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

6. Linuxで覚えておきたい用語

次に、Linuxでよく使用する特徴的な6種類の用語を紹介します。

カーネル

カーネルは、Linuxの中核となるプログラムのことです。具体的には、ハードウェアを動作させる機能を担っており、メモリの管理、ファイルの管理、デバイスドライバの制御、プロセスの管理などを行います。このカーネルにユーザーインターフェースであるデスクトップ機能などが組み合わされることでLinuxとして動作します。

シェル

Linuxを動かすためには、カーネルに指示をする必要があります。シェルは、CUIで操作するときに利用するプログラムで、カーネルとのインターフェースになります。シェルは入力したコマンドを カーネルに渡し、カーネルが処理した結果を表示します。シェルにはいくつか種類がありますが、Linuxが標準で使用するのはbashというシェルです。

パーミッション

パーミッションとは、ファイルとフォルダのアクセス権限(読み出し・書き込み・実行) のことです。Linuxではファイルとフォルダの「所有者」「グループ」「それ以外のユーザー」に対し、きめ細かくパーミッションを設定することができます。

マウント

ファイルシステムを、他のファイルシステムに割り当てることをマウントと言い、mountコマンドで行います。たとえば、Cドライブ配下に新たに別ファイルシステムをマウントし、Cドライブ配下に組み込むことができます。

デーモン

デーモンは、メモリ上のバックグラウンドで稼動するプログラムのことです。OSの起動時から動いており、メールサーバーやWebサーバーなど、接続があった際にすぐ稼働する必要があるプログラムが該当します。

パッケージ管理

パッケージ管理とは、実行ファイルや設定ファイル、ライブラリなどを一括でOSにインストールしたり管理したりすることです。OSによって使用するツールは異なり、Red Hat系では“yum” コマンド、Debian系では “apt” コマンドを使用してパッケージ管理を行います。

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

7. 就活生向け|Linuxの学習方法

最後に、就活生向けにLinuxの学習方法について解説します。

書籍・動画サイトで学ぶ

書籍や動画サイトでの独学は、気軽に始めることができ、コストがほとんどかからない点が大きなメリットです。ただし、疑問点を自分で調べて解決する必要があるため、スクールなどに比べてモチベーションの維持が難しいと言えるでしょう。
有名な動画サイトには「Progate」「Schoo」「ドットインストール」などがあります。なかでも「Progate」は環境構築が不要で、ブラウザ上で実践ができるため、初心者にはおすすめです。

フリーのLinux環境を自分で構築し自己学習する

前述した通り、Linuxの環境構築とインストールを実際にやってみることで、Linuxの知識・スキルが深まります。また、自由に扱えるLinux環境があることで自己学習も容易になり、効果的なスキルアップに繋がるはずです。

資格を取得する

資格取得を目指して勉強することで、Linuxの知識やスキルの基礎力を身につけることができます。Linux資格では「LinuC」や「LPIC」認定資格が有名です。いずれの資格もレベル1からレベル3までありますが、まずは初級者向けのレベル1を選ぶとよいでしょう。なお「LPIC」は世界共通基準の資格なため、将来海外での活躍を目指す人にもおすすめです。

長期インターンに参加する

実際に企業で一定期間職場を体験するインターンシップに参加することによって、企業や仕事に対する理解が深まります。また、長期インターンでは、現役エンジニアの指導を受けながら仕事をする機会もあるため、より実践的なLinuxのスキルを習得することができるでしょう。インターンシップでの働きぶりや仕事に対する姿勢などが評価され、そのまま正社員として採用される可能性もあります。

Linuxのインターンシップの募集はインターネット上の求人サイトから探すことができますので、チェックしてみてください。

スクールで学ぶ

スクールでは、プロが作成したカリキュラムに沿って、短い時間で着実にLinuxの知識・スキルを身に付けることができます。また、疑問点をプロの講師にリアルタイムで質問できるため、学習がよりスムースに進みます。Linuxに特化したスクールはもちろん、レバテックカレッジなど就活に特化したスクールもあり、技術の習得以外に就活のサポートも受けることができます。
ただし、スクールは多くのメリットがある一方でコストがかかりますので、しっかりと検討して、自分に合ったところを選択しましょう。

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

\ITエンジニア特化の就活支援サービス/

レバテックルーキーに登録する

8. まとめ

Linux は、UNIXをベースに開発されたOSです。オープンソースで基本的に無償なため、急速に人気が出て市場に広まりました。現在ではクラウドや組み込みシステムなどさまざまな分野で使われています。
Linuxの技術を習得することで、インフラ構築で必要とされる貴重なスキルが身に付きます。また、将来的にDockerやクラウドの知識を身につける際にも、Linuxの基礎知識は足がかりとなるでしょう。

ITエンジニアを目指す新卒学生向け就活エージェントならレバテックルーキー

レバテックルーキーは、レバテックが運営するITエンジニア専門の就活エージェントです。多数のITエンジニアのキャリア支援経験のあるアドバイザーが、あなたのスキルと希望に合わせた企業の紹介から、人事目線での面接対策など、就職までを一貫してサポートします。ES添削、面接対策、ポートフォリオ作成サポートなども実施していますので、まずは一度カウンセリングにお越しください。

 

就活アドバイザーに相談してみる

レバテックカレッジ 就活まで支援するエンジニア志望学生のためのプログラミングスクール