Linux 学習ロードマップ

「Linux の勉強をやろうと思ったけど、どこから勉強すればいいの?」という方のために、学習ロードマップを用意しました。

(画像の各項目をクリックすると、入門記事に飛べます。)

以降では、学習の流れの詳細とそれぞれの記事のリンク先を紹介します。
まず、全く Linux を触れたことがない方は「基礎操作」から学習を始めます。

次に、「Linux カーネル」について学びます。

上記を一通り読み終えれば、OS, Linux カーネルの役割について理解できます。

次に Linux でサーバーを構築します。

サーバー構築には、「基本的なネットワークの知識」が必要なので、OSI 参照モデル、TCP/IP を学習します。

実際に「OSS」を利用してサーバーを構築します。「OSS」と対応する「プロトコル」は以下のとおりです。

プロトコルサーバー OSS役割
HTTPnginxWeb・プロキシサーバー
HTTPGunicornAP サーバー
HTTPS
(TLS)
Let’s EncryptHTTPS 化
HTTPSquidプロキシリバースプロキシ
DNSBINDDNS サーバー
LDAPOpenLDAPディレクトリサービス
SSHOpenSSHリモート操作
DHCPIP アドレス・DNS の自動設定

「プログラミング言語」は個人でちょこっと検証するなら Python がオススメです。

目的言語推奨フレームワーク
フロントエンドエンジニアJavaScriptReact, Vue
JavaScript だけでバックエンドもしたい人Node.js (Javascript)Express
簡単、ビッグデータ機械学習などPythonFlask, Django
大規模案件、サーバー OSS のコードを読むJavaSpring Boot
Linux カーネルのコードを読むC

一通りサーバーを構築できるようになったら、「コンテナ」を利用してサーバーの構築をできるように学習します。

【入門】Docker とは?コマンドや dockerfile の使い方

おすすめの書籍 (本)

Linux の学習を始める上でおすすめの書籍を、おすすめの学習順に並べて紹介します。

  1. 新しいLinuxの教科書 (必須・実践)
  2. Amazon Web Services 基礎からのネットワーク&サーバー構築 (必須・実践)
  3. Linux のしくみ (必須・基礎知識)
  4. 絵で見てわかるOS/ストレージ/ネットワーク (オプション・基礎知識)
  5. CentOS8 で作るネットワークサーバ構築ガイド (オプション・実践)
  6. Linux教科書 LPICレベル1 (オプション・基礎知識)

知識から入ってもよくわからないと思うので、まずは実践経験を積んで Linux に慣れる方がいいと思います。

新しいLinuxの教科書

まずは Linux の操作やできることを把握するためにコマンドを実際に叩くことをおすすめします。

コマンド自体はググれば出てきますが、学習を始めたばかりの時はググるキーワードすらわからないと思うので、書籍を利用することをおすすめします。

Amazon Web Services 基礎からのネットワーク&サーバー構築

サーバー構築の実践経験を積みたい場合におすすめの書籍です。また、ネットワークの知識が全く無い状態でも読むことができる本です。

上記と同じく、本書籍の情報自体は全て google 検索で取得可能ですが、学習を始めたばかりの時はググるキーワードすらわからないかと思います。

そのため、何もわからない段階では書籍を利用して、順を追って学習することをおすすめします。

本書を読み終え、自分でキーワードが自分で思い浮かぶようになれば後は google 検索だけで知識を収集できるようになります。

Linux のしくみ

OS、カーネルの機能を知識として学ぶことができる本です。

誤字はあるものの、図を使って説明してくれるため、とにかくわかりやすいです。

初学時は、ネット上にある OS、カーネルの解説が難しすぎて挫折するので、この本から入ることをおすすめします。

Linux について広く浅くキャッチアップできるので、インフラエンジニアとして生きていく上での必要最小限の知識は網羅されているかと思います。

絵で見てわかるOS/ストレージ/ネットワーク

ある程度基礎ができている方は、こちらの書籍をおすすめします。

バラバラな「OS/ストレージ/ネットワーク」の知識を繋げ、実際の動作がイメージできるようになります。この総合力は、新規技術の習得やトラブルシューティングの際に大きな力となります。

CentOS8 で作るネットワークサーバ構築ガイド

Linux (CentOS) でサーバーを構築する場合の手順書的な本となっています。

そのため、実際に手を動かしながら学びたい場合におすすめの書籍となります。

先程の「Amazon Web Services 基礎からのネットワーク&サーバー構築」よりも少しだけ難易度が上がってます。

一方で網羅性が高く、ネットに全然情報の無い情報等もまとめられているため、サーバー構築を行う際に非常に助けになる書籍です。

とても分厚い本なので、業務の必要に応じて各章をつまみ読みするのがおすすめです。

Linux教科書 LPICレベル1

Linux の基礎知識を網羅的に勉強するなら、やはり LPIC です。

世界的な技術者資格だけあって、幅広い範囲を学習できます。

おすすめの学習サイト

Linux を学習する上でおすすめのサイトは以下の2つです。

「A の記事と B の記事で矛盾したことを言っている。どっちが正しいの?」
という時は以下を見ましょう

Linux 記事の一覧

カーネル

【Linux カーネル: OS 入門1】OS、カーネルとは

OS (Operating System) OS (Operating System) とは、主に以下の2つの役割を持つソフトウェアです。 ・ハードウェアを管理 ・プロセス (実行中のソフトウェア) がハードウェアにアク...
カーネル

【Linux カーネル: OS 入門3】メモリ管理

メモリ (物理メモリ) とは メモリとは、CPU が直接読み書きする領域です。CPU で実行するプログラムを置いたり、実行した結果を読み書きする領域です。 本記事は以下の書籍を参考にしています。 ...
カーネル

【Linux カーネル: OS 基礎入門2】CPU・プロセス管理

本記事は以下の書籍を参考にしています。 また、本記事は Linux カーネル解説の第2回「CPU・プロセス管理」に関する記事です。 その他の Linux カーネルの解説については以下の記事をご覧くだ...
カーネル

【Linux カーネル: OS 入門4】ストレージ管理・ファイルシステム

本記事は以下の書籍を参考にしています。 また、本記事は Linux カーネル第4回「ストレージ管理・ファイルシステム」に関する記事です。 その他の Linux カーネルの解説については以下の記事をご...
カーネル

【Linux カーネル: OS 入門6】I/O デバイス管理

本記事は以下の書籍を参考にしています。 また、本記事は Linux カーネルの解説のうち第6回「I/O デバイス管理」に関する記事です。 その他の Linux カーネルの解説については以下の記事をご...
カーネル

【Linux カーネル: OS 入門5】ファイルシステムの機能一覧

本記事は以下の書籍を参考にしています。 また、本記事は Linux カーネル解説の第5回「ファイルシステムの機能一覧」に関する記事です。 その他の Linux カーネルの解説については以下の記事をご...
カーネル

【Linux カーネル: OS 入門7】IPC (プロセス間通信)

IPC (Inter Process Communication) IPC とは、プロセス間で通信 (データをやりとり) する仕組みです。 IPC には次の種類が存在します。 IPC の種類特徴具体例パイプ...
基礎知識

【入門】初心者が練習すべき Linux コマンドの一覧

初めて Linux のコマンドを学ぶ時は、ググるキーワードがわからなかったり、1つずつ調べるのが面倒だったりしました。 そのため、本記事の上から順にコピペして実行することで、Linux でよく利用するコマンドを網羅的に理解できるよう...
基礎知識

ディレクトリ構造・構成 (FHS ファイルシステム階層標準)

初めに 本記事は Linux の基本シリーズの第2回目です。そのほかの記事は以下のとおりです。 【Linux の基本1】初心者向け Linux コマンドの一覧【Linux の基本2】ファイルシステム階層標準 ←イマココ【Lin...
基礎知識

【入門】パッケージ管理システム (パッケージマネージャー) とは

パッケージ パッケージとは、ソフトウェアの実行に必要なファイルをまとめたものです。 具体的には、以下のようなものが含まれます。 ・実行ファイル ・ライブラリ ・モジュール ・設定ファイル ・リソース (画像・音楽ファイル...