※本サイトにはプロモーション・広告が含まれています(はづきのブログより)
※この記事は初心者向けに平易に解説しています。正確な理解をしたい人は専門書・専門家をあたっていただければと思います。また、この記事の情報におけるCPの動作結果については自己責任でお願いします。
Linuxの勉強はしたほうが良いのかな。。
学習するとしてもどうやって。。
この記事ではそのような人のために、
Linuxの"需要"と"具体的な学習方法"について紹介します!
LinuxはWindows,MacOSに並ぶOSの一つです。
1990年代からあるLinuxですが、いまでも多くのIT開発現場で使われています。
IT企業に就職・転職したい方やIT技術学習に励む学生さんはLinuxを扱えるようになっておいて損はないと思います。この記事ではそのような方に向けて、「そもそもOSとは?」「Linuxとは?需要はあるの?」「具体的にどう勉強していけば良いの?」、この辺りを解説していきます。
※「はづきのブログ」ではLinuxに関する記事を25記事以上書いております!(2024/04/23)
\学習ロードマップ/
- Linuxの概要を知り、学習すべきか判断する
- 学習到達目標を決める
- Linuxの学習教材を決める
- Linuxの学習を始める
- Linuxについて浅く理解する
- 環境構築をする
- 基本コマンドの習得
- インフラ構築スキルの習得
Linuxとは?
- Linuxの概要を知り、学習すべきか判断する
- 学習到達目標を決める
- Linuxの学習教材を決める
- Linuxの学習を始める
「そもそもLinuxとは何か?」を知らないとあなたにとって学習すべきか判断できないと思います。
そこで、まずは「Linuxの概要と需要」について解説します。Linuxの学習があなたにとって必要か判断してみてください!
MacOS,Windowsに並ぶOSの1つ
LinuxはWindowsOS,MacOSに並ぶOSの1つです。
OSとはアプリケーションとハードウェアを仲介するソフトウェアのことです。和名で"基本ソフトウェア"と呼ばれることがあります。
日常会話の中でも、ノートPCであれば「Windowsなの? MacOSなの?」、スマホであれば「Androidなの?iOS(iPhone)なの?」といった用語を聞くことがあると思います。これらはすべてOSのソフトウェア名です。
ノートPCやスマホは広義でコンピューターと呼ばれ、コンピューターはハードウェアとソフトウェアで構成されています。ハードウェアは記憶装置(ハードディスクとか)や入力装置(マウスとか)などで構成されている、"物理的に触れる"部分です。一方で、ソフトウェアは基本ソフトウェアと応用ソフトウェア(アプリケーション)に大別されていて、前者は先述した通りOSを指していて、後者は文章作成ソフトや表計算ソフトなどが該当します。
OSは上記のハードウェアとアプリケーションの中間に位置して、双方を連携させる役割を持っています。
例えば、同じノートPC(ハードウェア)でもWindowsが搭載されていればWindowsPCになるし、Linuxが搭載されていればLinuxPCになります。
IT開発現場での需要がいまだに高い
Linuxは安価で柔軟性が高いことを強みとしています!
IT開発現場での用途としては”サーバのOS”として使われることがほとんどです。DNSサーバ、WEBサーバ、DBサーバ...などなどです。
※サーバやLinuxのさらなる詳細についてはこちらの記事に記載してます
ここでLinuxの需要が健在である根拠を紹介します!
\理由1/
statistaが2018年から2022年にかけてソフトウエア開発向けのOS配付分布を調べています。
この調査から代表的なOSであるWindowsとMacOSに並んでLinuxが使われていることがわかります。プライベートの会話ではなかなか耳にしない"Linux"ですが、IT業界・IT開発現場では当たり前に使われているのです。(参考:Operating systems for software development worldwide 2022 | Statista)
私の体感としても、普段の設計やコーディング作業はWindowsを使っていますが、開発しているシステム自体のサーバはLinuxが使われています。そのため、LinuxPCの使い方に関する知識(=Linuxコマンドを扱える)は業務でもよく使います。
\理由2/
Linuxはクラウドを使った近年の開発現場でも活用されています。
従来は自社でサーバを所有し、そのサーバ内にシステムを構築して世の中にリリースしていました。しかし、最近ではAmazon Web Services(通称:AWS)などのクラウドサービスを活用して、他社のリソースでサーバを構築することも増えてきました。
このようなクラウドサービスを活用する場面においても、サーバを立ち上げる際のOSにLinuxが選択されることが多いです。そのため、Linuxを使えるスキルは今後も必要となるでしょう。
学習到達目標を決める
- Linuxの概要を知り、学習すべきか判断する
- 学習到達目標を決める
- Linuxの学習教材を決める
- Linuxの学習を始める
Linuxの学習を始める前に「どのレベルまで習得したいか」を軸に目標を決めましょう!
Linuxはコマンド操作が基本です。WindowsPCやMacPCとは異なり、ファイル作成といった簡単な作業をするにもコマンドの知識が必要です。そのため、最初は"LinuxPCを普通に操作できる状態(level.3)"を目指すことになると思います。
次項から各レベルについて説明していきます!自分が到達したい目標を考えながら読み進めてみてください。
技術レベル | 概要 | 具体 |
level.1 | Linux(OS)の概要を知っている | ・Linuxを含む"OSについて軽く説明できる ・Linuxカーネル、シェルについて概要を理解できている → Linuxを学習するなら必須 |
level.2 | 環境構築ができる | ・一人でLinux環境を構築できる → Linuxを学習するなら必須 |
level.3 | 基本コマンドを習得 | ・Linuxの基本コマンドが使える (=LinuxPCを使ってファイル作成・削除などができる) →Webエンジニアなどを目指すなら必須 |
level.4 | インフラ構築スキルの習得 | ・Linuxを使ったサーバ構築が行える (=webサーバ、DBサーバ、などの構築) →インフラエンジニアを目指すなら必須 |
Linuxの概要を知っている
level.1は"LinuxやOSについてのざっくりとして知識、イメージが持てている状態"を指します。
いきなりコマンド学習を始めると「自分はいま何を勉強しているんだろう??」と迷子になることがあります。そうならないようにするための準備段階です。
具体としては、以下の用語を中心とした概要について理解できいればOKです。この段階から学習を始める人は、以下について解説のある教材を選ぶようにしましょう。※教材については以降で解説
- LinuxはOSの1種である
- LinuxはWindows, MacOSのGUI操作とは異なり、CUI操作を基本としている
- OSは応用ソフトウェアとハードウェアを仲介する基本ソフトウェアである
- OSの構成要素であるカーネルとシェルの役割・関係を知っている
↑このあたりをざっくりイメージできていればOK。これらは奥が深いので深追いは不要。
環境構築ができる
level.2は"一人で環境構築ができる状態"を指します。
ここでの環境構築とは、自分の手元にLinuxが搭載されたPCを用意することです。Linux学習は実際にコマンドを実行しながら実践で学んでいくのが基本なので、環境構築は欠かせません。また、「一人で」と書いていますが、調べながらやる分には全然OKです。構築方法を暗記する必要はないです。
とはいえ、新しくLinuxPCを購入する必要はありません。WindowsPCやMacPCの中にLinux環境を作ることが可能です。また、Amazon Web Services(通称:AWS)などを使ってクラウド上にLinux環境を作ることもできます。
とりあえず、具体の方法はさておきWindowsPCやMacPCを持っていれば問題ないです!
※だいたい2時間もあればできます。慣れてくれば15分くらい。
基本コマンドを習得
level.3は"LinuxPCを普通に操作できる状態"を指します。
LinuxPCはCUI操作が基本です。そのため、コマンドの知識が必要になります。
ファイル作成を例とすると、GUI操作のWindowsPCではメモ帳アプリを開いたり、右クリックで「ファイル新規作成」を選択すれば簡単にテキストファイルを作成できます。しかし、CUI操作のLinuxPCでは「touch」というコマンドを実行することでテキストファイルを作成します。なので、LinuxPCでは"やみくもに操作をしていてファイルを作成できる"ことはありません。「touch」コマンドの存在と、その使い方を知っている必要があるのです。
というわけで、CUI操作のLinuPCは普通に操作をするだけでも知識が必要です。"Webエンジニア"などを目指すならこのレベルまで習得しましょう。
CUI操作:
Character User Interfaceの略。コマンドを基本とする操作形態を指す。
操作するのにコマンドの知識が必要。コマンドの実行履歴を証跡に残せるなど、開発現場で重宝。
GUI操作:
Graphical User Interfaceの略。視覚的にわかりやすい操作形態を指す。
アイコンやマウスカーソルなどで、説明なしでも"なんとなく"操作方法がわかる。
普段使うWindowsPCやMacPC, スマホなどはGUIに該当する。
インフラ構築スキルの習得
level.4は"LinuxPCで開発インフラを構築できる"を指します。
LinuxPCは開発現場ではDNSサーバ、WEBサーバ、DBサーバといったサーバに使用されることが多いです。(サーバの意味がわからなければ、いったんlevel.3まで目指しましょう)
例えば、LinuxPCにApatcheというソフトウェアをインストールすればWebサーバを構築することができます。
このようにLinuxPCにサーバとしての役割を持たせるスキルを目指すのがlevel.4です。また、LinunxPCのCPUやメモリを確認して、性能評価・調整ができるとなお良いです。
これらは一般的に"インフラエンジニア"と呼ばれる、"開発環境を整える技術者"に求められるスキルです。インフラエンジニアを目指したい場合はlevel.4、Webエンジニアなどであればlevel.3までをいったん習得できれば良いと思います。
インフラエンジニア:
上記ではサーバ構築をメインとして書いていますが、実際はもっと領域が広いです。
ハードウェアの調達やネットワークの設計・構築などもインフラエンジニアが担います。
ネットワークエンジニア、サーバーエンジニア、データベースエンジニア etc.これらの総称だと思っていただければおおむね間違いないです。
Linuxのおすすめ学習教材
- Linuxの概要を知り、学習すべきか判断する
- 学習到達目標を決める
- Linuxの学習教材を決める
- Linuxの学習を始める
学習到達目標が決まったので、次は学習教材を決めましょう!
いまの時代はYoutubeやgoogle検索などで無料で情報が手に入ります。私が書いているこのブログも無料でLinuxを学べる選択肢の1つです。
ただし、一般的にはお金をかけてEラーニングや書籍を利用したほうが体系的に学べることが多く、深く理解することができます。そのため、私からは教材の選択肢とその特徴について紹介します。
「"学習到達目標"と"予算"」を軸に決めてみてください。
私のおすすめ教材はこの3つです!
Linuxだけ学習するのが目的なら、5000円未満で抑えられると思います。それ以上はちょっと高額な気がします。
教材 | 価格 | 概要 | はづきメモ |
侍テラコヤ | 2980円~/月 | ・オンライン教材を使って学習するEラーニングサービス ・QA掲示板やオンラインレッスンも利用可 | ・書籍などの完全独学に自信がない場合はおすすめ ・Linuxだけ学習したいなら1ヵ月だけ加入して退会すると良い ・他コースも利用可能なためインフラエンジニアの基本知識まで習得可能 |
新しいLinuxの教科書 | 約2900円 | ・Linuxの基礎を体系的にまとめた書籍 ・書籍を読み、手を動かしながら学ぶ | ・環境構築から基本コマンドの習得まで網羅されている ・インフラエンジニア手前までならこれで十分 ・私がLinux学習初期に買った3冊の中で最終的に採用したのがこれ |
はづきのブログ | 0円 | ・私が頑張って書いているブログ記事 ・ブログを読み、手を動かして学ぶ ・不明点をググることは必要 | ・一応、基本操作を網羅できるように書いています ・今後、より記事を充実させる予定 ・1部不明瞭なとこもあるかもなので、そこは調べながら進めるお手間をかけるかも。。 |
Linuxを効率的に学習するコツ
- Linuxの概要を知り、学習すべきか判断する
- 学習到達目標を決める
- Linuxの学習教材を決める
- Linuxの学習を始める
- Linuxについて浅く理解する
- 環境構築をする
- 基本コマンドの習得
- インフラ構築スキルの習得
教材が用意できたら学習を始めていきます!
学習は教材の指示に従って勉強すれば良いのですが、いくつか実践したほうが良いポイントがあるので紹介します。
以下を守りながら学習を進めれば、仕事などの実践で活かせるスキルになると思います!
今回はLinuxの学習方法について紹介しました
みなさんのお役に立てば幸いです。最後まで読んでいただきありがとうございました
おしまい
コメント