こんにちは、InfraAcademyを運営しているryuです。
今回は、Linuxをこれから勉強したい初心者向けに、始め方と学習手順を解説します。
Linuxを勉強しようと思っても、最初は何から触ればよいのか分かりにくいと思います。インストール方法を調べただけでも、WSL、VirtualBox、クラウド、Dockerなどが出てきて、そこで止まってしまう方も少なくありません。
私もLinuxを触り始めた頃は、コマンドを覚えても何に使うのか分からず、なかなか知識がつながりませんでした。エンジニアとして10年以上仕事をしてきた今振り返ると、最初から全部覚えるより、小さく操作して、少しずつサーバー構築へ進む方が理解しやすいです。
この記事では、Linuxを始める環境の選び方から、コマンド、サーバー構築、資格学習まで、初心者向けに順番を整理します。
Linuxとは?¶
Linuxは、WindowsやmacOSと同じOSの一種です。Webサーバー、クラウド、コンテナ、ネットワーク機器など、さまざまな場所で利用されています。
普段WindowsやMacしか使っていないとLinuxは特別なものに見えますが、最初に覚える操作はそれほど多くありません。ファイルを見る、移動する、編集する、サービスを起動するといった基本から始めれば大丈夫です。
LinuxにはUbuntu、Debian、Rocky Linuxなど複数のディストリビューションがあります。初心者が学習を始めるなら、情報が多く環境を用意しやすいUbuntuから触ってもよいでしょう。
Linuxを勉強する目的を最初に決める¶
Linuxは範囲が広いため、すべてを勉強しようとすると終わりが見えません。まずは、何のためにLinuxを使いたいのかを決めておくと学習内容を絞れます。
例えば、目的によって重点を置く内容は少し変わります。
| 目的 | 最初に学びたい内容 |
|---|---|
| インフラエンジニアを目指す | Linux操作、サーバー、ネットワーク、権限、ログ |
| Webエンジニアを目指す | ファイル操作、プロセス、Webサーバー、SSH |
| AWS・クラウドを学ぶ | Linux操作、SSH、ネットワーク、サービス管理 |
| セキュリティを学ぶ | Linux操作、権限、ログ、ネットワーク |
とはいえ、最初の基礎は共通しています。cd や ls も分からない段階で、いきなりAWSやKubernetesへ進むと、Linuxの問題なのかクラウドの問題なのか判断しづらくなります。
Linuxを始める環境はどれがいい?¶
昔は、Linuxを勉強するならPCへOSをインストールする方法が一般的でした。現在はもっと手軽な選択肢があります。
初心者向けに比較すると、次のようになります。
| 方法 | 始めやすさ | 特徴 |
|---|---|---|
| ブラウザ上のLinux環境 | ◎ | インストール不要ですぐ試せる |
| WSL | ◎ | Windows上でLinuxを利用できる |
| VirtualBox | ○ | 仮想マシンとしてLinuxを丸ごと学べる |
| クラウドVM | △ | AWSなどの学習と一緒に進められる |
| PCへ直接インストール | △ | OSそのものを深く学びたい方向け |
最初からPCのディスク構成を変更する必要はありません。まずLinuxの操作を覚えたいだけなら、ブラウザ環境やWSLで十分です。
WindowsへLinuxを用意したい場合は、こちらの記事でWSLを使った方法を解説しています。
【関連記事】WindowsにLinuxをインストールする方法|WSLなら初心者でも簡単
Linux初心者におすすめの勉強順序¶
環境を用意できたら、いよいよLinuxを触っていきます。
私がおすすめする順番は、基本コマンド → ファイルと権限 → プロセス・サービス → ネットワーク → サーバー構築です。この順番なら、後から出てくる操作が前の知識につながります。
まず基本コマンドを実行する¶
最初は10個程度のコマンドで構いません。
例えば、現在の場所を確認して、ディレクトリの中身を表示してみます。
pwd
ls -la
次にディレクトリを作って移動します。
mkdir linux-study
cd linux-study
ファイルを作り、中身を確認してみましょう。
echo "Hello Linux" > hello.txt
cat hello.txt
この程度でも、カレントディレクトリ、ファイル、標準出力、リダイレクトといったLinuxの基本に触れられます。
コマンド一覧を最初から丸暗記するより、実際に使いながら必要なものを増やしていく方が定着します。
ファイルと権限を学ぶ¶
Linuxを使っていると、Permission deniedというエラーによく出会います。
ここで所有者、グループ、rwx、chmod、sudoの意味を理解しておくと、その後のサーバー構築がかなり楽になります。
例えば次のコマンドで、ファイルの権限を確認できます。
ls -l hello.txt
実務でも、コマンドそのものより「このユーザーはなぜこのファイルを読めないのか」を考える場面が多くあります。Linuxの権限は早めに触れておくのがおすすめです。
プロセスとサービスを確認する¶
次に、Linux上でプログラムがどのように動いているかを学びます。
プロセスを確認するなら ps、systemdで管理されているサービスを確認するなら systemctl を使います。
ps aux
systemctl list-units --type=service --state=running
WebサーバーやSSHサーバーを構築すると、起動しているか、停止しているかを確認する機会が増えます。
ここまで分かると、Linuxが単なるコマンド練習ではなく、サーバーを動かすOSとして見えてきます。
Linuxはサーバーを1つ作ると理解が進む¶
基本操作に慣れたら、小さなサーバーを構築してみましょう。
初心者なら、最初はWebサーバーがおすすめです。UbuntuでApacheをインストールするだけでも、パッケージ管理、サービス、ポート、設定ファイル、ログなど多くの知識がつながります。
sudo apt update
sudo apt install apache2
sudo systemctl status apache2
ブラウザからアクセスしてページが表示されたら、次は設定ファイルを変更したりログを確認したりしてみます。
DNSサーバーへ進むと、LinuxだけでなくIPアドレスや名前解決も学べます。少し難しくなりますが、インフラエンジニアを目指すなら一度構築しておく価値があります。
【関連記事】BIND9でDNSサーバーを構築する方法
Linuxのログを見る習慣をつける¶
Linuxを勉強するときに、エラーが出たらすぐ答えを検索するだけではもったいないです。
まず画面に表示されたエラーを読み、サービスの状態やログを確認してみてください。例えばsystemdのサービスなら journalctl を利用できます。
sudo journalctl -u ssh --since today
私は実務でも、問題が起きたときに最初から原因を決めつけず、状態とログを確認してから切り分けます。この習慣はLinuxを学び始めた段階から身につけておくと役立ちます。
ログの見方はこちらの記事でも解説しています。
【関連記事】Linuxのログ監視方法|tail・less・journalctlの使い方を解説
Linuxの資格はいつ勉強する?¶
Linuxを体系的に勉強したい場合は、LPICやLinuCなどの資格範囲を利用する方法があります。
資格学習の良いところは、自分では触らなかった分野まで学べることです。ただし、参考書を読んで問題だけ解いていると、コマンドの意味を実感しにくい場合があります。
私は、操作してから理論を学ぶ、理論を読んだらもう一度操作するという往復がおすすめです。
例えばファイル権限を資格教材で学んだら、実際にユーザーを作って権限を変えてみます。プロセスを学んだら、ps や kill を実行して動きを確認します。
Linuxを学ぶとクラウドやDockerも理解しやすい¶
Linuxを学ぶメリットは、Linuxだけに閉じた知識になりにくいことです。
AWSのEC2へSSH接続したり、Dockerコンテナの中を確認したり、Webサーバーのログを調べたりするときにもLinuxの知識を使います。
私自身も、Linuxを学んだことでネットワーク、クラウド、Docker、Webアプリケーションの理解がつながりました。プログラミングだけを勉強していた頃より、アプリがどこでどのように動いているのかを考えやすくなったのは大きかったです。
ブラウザでLinuxを触りながら学ぶ¶
Linuxを始めたいけれど、環境構築で止まりたくない方のために、InfraAcademyではブラウザ上でLinuxを操作しながら学べる環境を用意しています。
コマンドを読んで覚えるだけではなく、実際に入力し、結果を確認しながら進められます。Linux入門だけでなく、ネットワーク、サーバー構築、Docker、AWSなどへ続けて学習できます。
Linuxの始め方まとめ¶
Linux初心者は、最初から高度なサーバー構築や資格の範囲をすべて覚える必要はありません。
まずLinuxを動かせる環境を用意し、基本コマンド、ファイル権限、プロセス、サービスを触ります。その後にWebサーバーやDNSなどを構築すると、個別に覚えていた知識がつながってきます。
エンジニアとして10年以上Linuxを使ってきましたが、今でも分からないコマンドは調べます。大切なのは暗記量ではなく、必要な情報を確認しながらLinux上で問題を切り分けられることです。
まずはターミナルを開いて、pwd、ls、cdあたりから試してみてください。



