こんにちは、エンジニアのryuです。
Linuxを勉強しようと思ったものの、何から手を付ければよいのか分からない。参考書を買ったけれど、環境構築でつまずいた方もいるでしょう。
Linuxは覚える範囲が広く、最初からすべて理解しようとすると挫折しやすい分野です。
ただし、順番を決めて一つずつ操作すれば、初心者でも身につけられます。大切なのは、難しい仕組みを暗記することではなく、基本的なコマンドを実際に入力しながら覚えることです。
この記事では、初心者向けのLinux学習ロードマップを解説します。エンジニア歴10年の経験から、実務につながる学習方法も紹介します。
Linuxの勉強は何から始めればいい?¶
Linuxの勉強は、ディレクトリとファイル操作から始めるのがおすすめです。いきなりサーバー構築や難しいネットワーク設定へ進む必要はありません。
Linuxでは、ターミナルにコマンドを入力して操作します。最初に現在地の確認、ディレクトリの移動、ファイルの作成を覚えると、その後の学習が進めやすくなります。
たとえば、次のような操作です。
pwd
ls
cd /tmp
touch sample.txt
echo "Hello Linux" > sample.txt
cat sample.txt
pwdは現在いるディレクトリを確認するコマンドで、lsはファイルやディレクトリの一覧を表示します。そこからcdで移動し、touchでファイルを作り、catで中身を確認しています。
最初はコマンドの意味を完全に暗記できなくても問題ありません。何度も入力するうちに、自然と手が動くようになります。
最初から環境構築にこだわらなくてよい¶
参考書では、最初にVirtualBoxなどでLinuxをインストールする場合があります。しかし、初心者にはインストール作業だけでも難しく感じます。
仮想化やネットワーク設定のエラーを直すだけで一日が終わると、勉強を始める前に疲れてしまいます。
最初の目標は、Linux環境をきれいに構築することではありません。Linuxの基本操作に慣れることです。
ブラウザ上の学習環境やWindowsのWSLなど、操作しやすい方法から始めましょう。基本操作を覚えてから環境構築へ進めば十分です。
初心者向けLinux学習ロードマップ¶
Linuxは、知識を横に広げるより、段階を分けて少しずつ深くする方が理解しやすくなります。まずは全体の流れを確認してみましょう。
| 段階 | 学習内容 | 到達目標 | 学習期間の目安 |
|---|---|---|---|
| ステップ1 | Linuxの概要と基本用語 | Linuxが何に使われるか説明できる | 1〜2日 |
| ステップ2 | ディレクトリとパス | 目的の場所へ移動できる | 2〜4日 |
| ステップ3 | ファイル操作と文字列確認 | ファイルの作成・コピー・削除ができる | 3〜7日 |
| ステップ4 | 権限・ユーザー・グループ | Permission deniedの原因を確認できる | 1〜2週間 |
| ステップ5 | プロセス・サービス・ログ | サービスの状態やログを確認できる | 1〜2週間 |
| ステップ6 | ネットワークの基礎 | IPアドレスや通信確認を理解できる | 1〜2週間 |
| ステップ7 | サーバー構築 | Webサーバーなどを構築できる | 2〜4週間 |
| ステップ8 | AWS・自動化・資格学習 | 目的に合わせて専門分野へ進める | 継続学習 |
学習期間は目安です。前の段階で学んだ操作を使いながら、次へ進むことを意識してください。
ステップ1 Linuxの概要と基本用語を知る¶
LinuxはOSの一つです。Webサーバー、データベースサーバー、クラウド環境、ネットワーク機器、組み込み機器など、さまざまな場所で利用されています。
初心者のうちは、Linuxの歴史やカーネル内部まで詳しく覚える必要はありません。コンピューターを動かすOSの一つだと理解できれば十分です。
UbuntuやRocky LinuxなどはLinuxディストリビューションの例です。シェルはコマンドをOSへ伝える役割を持ち、ターミナルはシェルを操作する画面です。
ステップ2 ディレクトリとパスを理解する¶
Linuxの操作で最初の壁になりやすいのが、ディレクトリとパスです。自分が今どこにいるのか分からないまま操作すると、ファイルが見つからない、違う場所へ作成した、といったミスが増えます。
最初に覚えたいのは、pwd、ls、cdの3つです。
pwd
ls -la
cd /var/log
pwd
/var/logのようにルートディレクトリから場所を指定する方法を絶対パスと呼びます。一方で、現在地を基準にcd ../やcd logsのように指定する方法が相対パスです。
絶対パスと相対パスは、サーバー設定でも頻繁に登場します。ここを曖昧にしたまま進むと、設定ファイルの場所やログの保存先が分からなくなるため、時間をかけて練習しておきましょう。
ステップ3 ファイル操作のコマンドを覚える¶
ディレクトリを移動できるようになったら、ファイル操作へ進みます。実務では設定ファイルを確認したり、バックアップを取ったり、ログから必要な文字列を探したりします。
まずは、次のコマンドを使えるようにします。
| コマンド | 主な用途 | 使用例 |
|---|---|---|
touch |
空のファイルを作る | touch memo.txt |
cp |
ファイルをコピーする | cp memo.txt memo.bak |
mv |
移動・名前変更をする | mv memo.txt notes.txt |
rm |
ファイルを削除する | rm notes.txt |
mkdir |
ディレクトリを作る | mkdir practice |
cat |
ファイルの内容を表示する | cat /etc/hosts |
less |
長いファイルを読む | less /var/log/syslog |
grep |
文字列を検索する | grep ERROR app.log |
一覧を暗記する必要はありません。練習用ディレクトリの中で、作成、コピー、名前変更、削除を繰り返しましょう。
mkdir linux-practice
cd linux-practice
touch server.conf
cp server.conf server.conf.bak
mv server.conf setting.conf
ls -l
コマンドの種類をもう少し増やしたい方は、次の記事も参考になります。
【関連記事】初心者向けによく使うLinuxコマンド10選を解説
ステップ4 権限・ユーザー・グループを学ぶ¶
Linuxを操作していると、Permission deniedというエラーに出会います。これは、現在のユーザーにファイルを読む権限や変更する権限がないときに表示されるエラーです。
Linuxでは、ファイルごとに所有者、所有グループ、その他のユーザーの権限があります。ls -lで次のように確認できます。
-rw-r--r-- 1 ryu developers 1200 Jul 20 10:00 app.conf
先頭の-rw-r--r--が権限を表します。rは読み取り、wは書き込み、xは実行です。
権限を変えるchmod、所有者を変えるchownも学びます。ただし、何でもsudoで実行する癖は付けない方がよいでしょう。
なぜ権限が不足しているのかを確認せず、管理者権限で無理に動かすと、思わぬファイルを変更する可能性があります。実務では、動いたかどうかだけではなく、安全な権限になっているかも重要です。
ステップ5 プロセス・サービス・ログを確認する¶
基本的なファイル操作を覚えたら、Linux上で動くプログラムを確認します。ここから、少しずつサーバー運用らしい内容になります。
プログラムが実行されると、Linux上ではプロセスとして管理されます。psやtopを使うと、どのプロセスが動いているかを確認できます。
ps aux
top
WebサーバーやSSHなどは、サービスとして起動・停止することがあります。systemdを採用している環境では、systemctlを使って状態を確認します。
sudo systemctl status sshd
sudo systemctl restart sshd
サービスが起動しないときは、コマンドを何度も実行するだけでは解決しません。状態表示とログを読み、エラーの原因を探します。
エンジニア歴10年の中でも、障害対応で最初に行うのは、むやみに設定を変えず、現在の状態とログを確認することでした。
ステップ6 Linuxと一緒にネットワークを学ぶ¶
Linuxをサーバーとして使うなら、ネットワークの知識は避けて通れません。ただし、最初からTCP/IPの細かなパケット構造をすべて覚える必要はありません。
まずは、IPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSの役割を学びます。そのうえで、Linuxから通信状態を確認するコマンドを使ってみましょう。
ip address
ip route
ping 8.8.8.8
curl -I https://example.com
ip addressはIPアドレス、ip routeは通信経路を確認します。pingが通るのにWebサイトが表示できない場合は、DNSやHTTPなど別の原因も考えられます。
このように、一つのコマンドだけで判断せず、段階的に切り分けることが重要です。ネットワークの知識は、LinuxだけでなくAWSを学ぶときにもそのまま役立ちます。
ステップ7 Webサーバーを構築して知識をつなげる¶
コマンド、権限、サービス、ネットワークを学んだら、Webサーバーを一つ構築してみましょう。個別に覚えていた知識が、ここでつながります。
ApacheでWebページを公開する場合、パッケージ管理、サービス、権限、IPアドレス、HTTP通信を使います。知識が一つの作業につながる段階です。
最初は、ブラウザに自分で作ったHTMLが表示されるだけでも十分です。小さな一歩ですが、Linuxを使ってサーバーを動かせたという実感につながります。
<!doctype html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Linux Practice</title>
</head>
<body>
<h1>LinuxでWebサーバーを構築しました</h1>
</body>
</html>
サーバー構築をどのように練習すればよいか迷った場合は、次の記事で学習環境や進め方を解説しています。
【関連記事】Linuxでサーバー構築を練習する方法
ステップ8 目的に合わせてAWS・資格・自動化へ進む¶
Linuxの基礎を身につけた後は、全員が同じ分野へ進む必要はありません。自分の目標に合わせて、学習内容を選びます。
インフラエンジニアやクラウドエンジニアを目指すなら、AWSへ進むのがおすすめです。EC2はLinuxサーバーとして利用することが多く、これまで学んだコマンドや権限、ネットワークの知識を活かせます。
運用を効率化したい方は、シェルスクリプトやAnsibleなどの自動化へ進めます。資格を目標にするなら、LPICやLinuCの範囲に合わせて知識を補いましょう。
AWSの学習順序については、こちらの記事でも詳しく解説しています。
【関連記事】AWSの勉強方法を初心者向けに解説
Linux初心者が挫折しやすい3つの理由¶
Linuxは難しく、自分には向いていないと感じる方もいるでしょう。
しかし、実際には能力の問題より、学習の始め方が合っていない場合が多くあります。ここでは、初心者がつまずきやすい理由を見ていきましょう。
環境構築だけで疲れてしまう¶
インストール途中でエラーが出ると、操作を学ぶ前に止まってしまいます。仮想化やネットワークなど別分野の知識も必要になるためです。
最初はすぐに操作できる環境を使い、Linuxの基礎を覚えることを優先しましょう。環境構築は、その後に練習すれば問題ありません。
コマンドを暗記しようとする¶
Linuxコマンドは数が多く、すべて暗記するのは現実的ではありません。実務経験が長いエンジニアでも、細かなオプションはmanや--helpで確認します。
大切なのは、目的に合うコマンドを探し、結果を読めることです。それ以外は調べながら使えば構いません。
学習の目的が曖昧になっている¶
Linuxを勉強すること自体が目的になると、範囲が広いため終わりが見えません。
Webサーバーを構築する、AWS上でアプリを公開する、LPICに合格するなど、小さくても具体的な目標を決めましょう。目的が決まれば、今は学ばなくてよい内容も判断しやすくなります。
エンジニア歴10年で感じたLinux学習のコツ¶
私自身も、最初からLinuxを理解できていたわけではありません。コマンドを調べ、ログを読み、検証環境で何度も試してきました。
特に役立ったのは、読む時間より操作する時間を増やすことです。20分読んで40分操作した方が、内容が記憶に残りました。
一つの操作に目的を持たせる¶
cpを10回入力するだけでは、単純作業になってしまいます。設定ファイルを変更する前にバックアップを取る、という状況を作ると、なぜコピーするのかまで理解できます。
たとえば、次の流れで練習します。
cp app.conf app.conf.bak
vim app.conf
diff app.conf.bak app.conf
バックアップを作り、設定を編集し、変更前後の差分を確認しています。実務でもよく使う流れです。
エラーを避けずに内容を読む¶
初心者の頃は、赤い文字や英語のエラーが表示されるだけで不安になります。ただ、Linuxのエラーには原因を判断するための情報が含まれています。
No such file or directoryなら場所やファイル名を確認し、Permission deniedなら権限を確認します。エラーを消すことだけを目標にせず、何を伝えているのか一行ずつ読む癖をつけましょう。
毎日少しずつ触る¶
週末に5時間だけ勉強するより、毎日20分でもターミナルを開く方が操作に慣れやすくなります。Linuxはスポーツや楽器に近く、知識だけではなく手を動かす感覚も必要です。
まとまった時間が取れない日は、ディレクトリを作る、ログを一つ読む、昨日使ったコマンドを再実行するだけでも構いません。学習を途切れさせないことが、結果的には近道です。
Linuxの勉強をInfraAcademyで始めよう¶
自分で環境を作るところから始めるのが不安な方は、ブラウザ上でLinuxを操作できるInfraAcademyを活用してください。

InfraAcademyでは、画面上のターミナルでコマンドを入力しながら学習できます。ファイル操作、権限、ネットワーク、サーバー構築まで順番に進められます。
参考書で操作をイメージできなかった方や、環境構築で止まった方にも向いています。簡単なコマンドから始めましょう。
Linux学習に関するよくある質問¶
最後に、Linux初心者からよく聞かれる疑問をまとめます。
Linuxはどのくらいの期間で使えるようになる?¶
基本的なコマンド操作は、毎日30分から1時間ほど学び、2週間から1か月で慣れてきます。サーバー構築まで身につけるには、2〜3か月以上かけて実践しましょう。
期間だけを気にするより、ファイル操作ができる、ログを確認できる、Webサーバーを公開できる、といった到達目標で判断しましょう。
WindowsのパソコンでもLinuxを勉強できる?¶
Windowsでも、WSL、仮想マシン、クラウド、ブラウザ学習環境を使って学べます。
初心者は、設定に時間がかからない方法から始めるとよいでしょう。Linuxに慣れた後で、WSLや仮想マシンを自分で構築すると理解が深まります。
Linuxの資格は最初に取得した方がよい?¶
資格学習から始めても問題ありません。ただし、コマンドを動かしながら学び、知識と操作をつなげましょう。
転職を目標にする場合は、資格に加えて、WebサーバーやDNSサーバーを構築した経験も説明できると強みになります。
Linuxの勉強は基本操作から一歩ずつ進めよう¶
Linuxの勉強は、ディレクトリ、ファイル操作、権限、プロセス、ネットワーク、サーバー構築の順で進めると理解しやすくなります。最初から難しい仕組みを暗記したり、完璧な環境を作ったりする必要はありません。
まずはpwd、ls、cdを入力し、自分がいる場所を確認するところから始めてみてください。小さな操作を積み重ねることで、Linuxは少しずつ使える道具に変わっていきます。
Linuxを身につけた後は、AWS、ネットワーク、サーバー構築、自動化へ進めます。焦らず、自分のペースで続けましょう。