ファイルシステム階層と移動の基本
Linux のファイルシステムという「地図」── /etc・/var/log・/tmp・/home の意味と配置を体で覚えて、初めて触るサーバでも 5 秒で当たりがつく感覚を手に入れます。
| 所要時間 | 約 20 分 |
|---|---|
| 章タイプ | standard |
| 前提知識 | Chapter 1(SSH でのログイン / プロンプトの読み方) |
| 使用機材 | 踏み台 workstation01 + 演習用サーバ learner01 |
| 関連章 | 前: Chapter 1「初回ログインと bash プロンプトの読み方」/ 後: Chapter 3「ファイルとディレクトリの基本操作」 |
どんな初めてのサーバにも、同じ「地図」が描かれている
前の章で、踏み台 workstation01 から演習用サーバ learner01 に SSH でたどり着きました。プロンプトが student@learner01:~$ に変わった瞬間、あなたは確かに 1 段奥の Linux の中に居ます。
ここから一つ、プロの目を借りるような感覚を身につけます。
新しいサーバを任されたとき、ベテランは何から見るか? 多くの場合、まず「設定ファイルはどこ?」「ログはどこ?」「自分の作業スペースはどこ?」という見当を、コマンドを打つ前から付けています。これができるのは、Linux のファイル配置に世界共通の「地図」があるからです。
AWS の EC2 でも、自社オンプレの古いサーバでも、Raspberry Pi でも ── 設定は /etc・ログは /var/log・一時ファイルは /tmp。この地図は変わりません。一度頭に入れてしまえば、初めて触るサーバでも 5 秒で当たりがつく。これがこの章のゴールです。
この章を終えるとできること
Linux のファイルシステムという「地図」を頭に入れて、4 つの操作でどこにでも自在に動き回れるようになります。
自由に移動できる
中身を確認できる
正確に確認できる
使い分けられる
概念説明
1. Linux のファイルシステムは「一本の木」
Windows では C:\ や D:\ というドライブ文字でストレージを区別します。Linux は違います。どんな大きなシステムでも、すべてのファイルは /(ルート) から始まる一本の木構造の中に収まっています。
/ ← ルート(木の根っこ) ├── home/ ← ユーザーの家 │ └── student/ ← student の個人スペース ├── etc/ ← 設定ファイル置き場 ├── var/ ← 変化するデータ(ログなど) │ └── log/ ├── usr/ ← インストールしたプログラム群 │ └── bin/ ├── tmp/ ← 一時ファイル置き場 └── bin/ ← 基本コマンドの実行ファイル
外付け USB を挿しても、追加のディスクを増設しても、Linux はそれを /mnt/usb や /data のような「木のどこかの枝」として取り込みます。世界はひとつの木で、外部のストレージはその木に接ぎ木する ── この感覚が Linux の根っこです。
2. なぜこの配置になっているのか(FHS の話)
「/etc って "et cetera" の略らしいけどなんで設定ファイル置き場?」── と素朴に思った方、するどいです。実はこれ、1970 年代の Unix の慣習がそのまま現代まで残っているのです。
当時のディスクは小さく、複数台に分けて使うのが普通でした。「起動に必要な最小限のものは / に」「ユーザーが使う大きなプログラムは /usr に」「変動するデータは /var に」── と、ディスクの役割で分けたのが始まりです。
1990 年代に、この慣習をきちんと文書化したのが FHS(Filesystem Hierarchy Standard) です。今では Ubuntu、Debian、Red Hat、AlmaLinux、Raspberry Pi OS など、Linux 系 OS がほぼ全部この標準に従っています。だから「初めてのサーバでも地図が読める」。50 年積み重ねた文化の利息を、私たちは毎日タダで受け取っています。
3. 主要ディレクトリの「役割と覚え方」
| ディレクトリ | 役割 | 覚え方 |
|---|---|---|
/ | 全体の根っこ。ここより上はない | ルート(root) |
/home | 一般ユーザーの個人スペース。student なら /home/student | 家(home) |
/etc | システム・サービスの設定ファイル置き場。動作を変えたいときはここを見る | "et cetera" が語源だが「設定の宝庫」と覚えてよい |
/var | Variable(変化する)データ。ログ・メール・DB など実行中に増減するもの | 変化する(variable) |
/var/log | ログファイルの定番置き場。/var/log/syslog など | ログはここ |
/tmp | 一時ファイル。再起動するとだいたい消える | 一時的(temporary) |
/usr | インストールしたアプリ・コマンドの実行ファイル・ライブラリ | ユーザーが使うもの(user) |
/bin・/usr/bin | コマンドの実体。ls や cd の実行ファイルがここにある | バイナリ(binary) |
AWS 的な感覚で言えば:/etc ≒ EC2 の設定パラメータ / /var/log ≒ CloudWatch Logs に流れる前の生ログ / /tmp ≒ Lambda の /tmp(実行中だけ使えるスクラッチ領域)。
4. 絶対パスと相対パス
ディレクトリの場所を表す方法は 2 種類あります。
絶対パスは / から始まるフルパスです。どこに居ても同じ場所を指します。運用作業では絶対パスを使うのが原則(typo しても意図しない場所に当たらない)。
/home/student/work/memo.txt # / から始まる → 絶対パス
相対パスは「今居る場所からの相対的な位置」で表します。/ から始まりません。.. は「一つ上のディレクトリ」、. は「今いるディレクトリ自身」を指します。
work/memo.txt # /home/student/work/memo.txt と同じ ../student2/ # 一つ上の /home に上がり student2 に入る
試してみよう:learner01 のファイルシステムを巡る
ここからが実機演習です。右の演習ターミナル(踏み台 workstation01 のもの)から learner01 に SSH してください。
打つコマンドは ls / cd / pwd / echo のみ。ファイルを作る・消す・書き換える操作は一切しません。どこかで詰まっても cd ~ を打てばホームに戻れます。何度でもやり直せます。
まず learner01 に入る
ssh student@learner01
ルートの直下を眺める
/ 直下にどんなディレクトリがあるか一覧表示します。概念説明で出てきた名前が並んでいるはずです。この地図はこの learner01 だけでなく、世界中の Linux サーバで同じです。
ls /
設定ファイルの宝庫 /etc を覗く
cd でディレクトリを移動し、pwd で現在地を確認する癖をつけましょう。/etc/ssh/sshd_config は SSH サーバの設定、/etc/hosts は名前解決の設定(learner01 というホスト名が引けたのも、踏み台の /etc/hosts のおかげでした)。
cd /etc pwd ls
ログの溜まり場 /var/log に移動する
syslog、auth.log、dpkg.log ── サーバが「自分の出来事を書き残している」ファイルたちです。Part 3 や Part 7 で、これらを読み解いていきます。
cd /var/log ls
相対パス .. で「一つ上」に上がる
今 /var/log に居る状態で、.. を 2 回使って /(ルート)まで上がります。
cd .. # /var/log → /var pwd # /var cd .. # /var → / pwd # / ← ルート。これより上はない
ホームに帰る・$HOME を確かめる
cd ~ でどこからでもホームに戻れます。そして Chapter 1 の最後で「echo $HOME は Chapter 2 のお楽しみに」と書きました。ここで確かめてみましょう。
cd ~ # どこに居ても一発でホームへ pwd # /home/student echo $HOME # /home/student(同じ値)
pwd は「今いる場所」を返します。echo $HOME は「自分のホームと決められている場所」を返します。今ホームに居るので同じ値に見えますが、試しに cd /tmp で移動してから両方打つと差が見えます ── それは修了確認問 2 で試してもらいます。
ホームの中を「全部」見る ── ls -la
ホームに帰ったら、せっかくなので中身を眺めてみましょう。ls だけだとほとんど何も見えないはずです。-a と -l を足すと、隠しファイルまで含めて詳細表示されます。
ls # ほぼ空に見える ls -la # 隠しファイル + 詳細表示
| オプション | 意味 |
|---|---|
-a | 隠しファイルを含める(. で始まるファイル名のもの全部) |
-l | 詳細表示(権限・所有者・サイズ・タイムスタンプを 1 行で出す long format) |
Linux では . で始まるファイル名 = 隠しファイル という慣習で、.bashrc、.profile、.ssh/ などログイン時の設定ファイルが多く該当します。-a を付けて初めて見えます。
ls -la の実機表示例合計 32 drwxr-x--- 5 student student 4096 5月 12 08:48 . drwxr-xr-x 6 root root 4096 5月 12 08:47 .. -rw-r--r-- 1 student student 220 3月 31 2024 .bash_logout -rw-r--r-- 1 student student 3771 3月 31 2024 .bashrc drwx------ 2 student student 4096 5月 12 08:48 .cache drwx------ 3 student student 4096 5月 12 08:48 .local -rw-r--r-- 1 student student 807 3月 31 2024 .profile drwx------ 2 student student 4096 5月 12 08:48 .ssh
d ならディレクトリ の 2 点だけです。左端の -rw-r--r-- のような 権限の 9 文字は、まだ読めなくて大丈夫(Chapter 7 でじっくり解剖します)。- 先頭の
.と..は 自分自身 と 親ディレクトリ のショートカット(§03 で出てきた..の正体) - 各行の
-rw-r--r--やdrwxr-x---は 権限(Chapter 7 で詳しく解剖 します / 今はとりあえず先頭のdが付くものがディレクトリ) - サイズ・更新日時も一目で分かるので、サーバ運用では
ls -laがほぼデフォルト
このあと Chapter 3 以降では、ファイル一覧を見るときに ls -la を多用します。隠しファイルこそがサーバ運用の本体(設定ファイル)だからです。
詰まったら
- 段階ヒント: 定番の詰まりポイントへの段階開示。1 段 → 2 段 → 答え、と少しずつ開けます
- AI に相談: Cloudflare Workers AI に自由質問できる相談窓口(v2 公開予定)
段階ヒント
💡 軽く方向だけ
cd の後にスペースを空けてディレクトリ名(またはパス)を書きます。/ から始めると絶対パス、始めないと相対パスです。
💡 具体的なコマンドの形
cd /etc、cd /var/log のように / から始めると、今どこに居ても確実にその場所へ行けます。現在地は pwd でいつでも確認できます。cd ~ または cd だけでホームに戻れます。
✅ 答えを見る
cd /etc # /etc へ(絶対パス) cd /var/log # /var/log へ(絶対パス) cd .. # 一つ上へ(相対パス) cd ~ # ホームへ pwd # 今いる場所を確認 echo $HOME # 自分のホームの場所を確認
cd と pwd と ls の 3 つさえ覚えれば、Linux のファイルシステムを自由に歩き回れます。
AI に相談
修了確認
学んだことが身についたか、2 問だけ確認してみましょう。
/etc と /var の役割の違いを、それぞれ一文で説明してください。「どんなファイルが置かれるか」「再起動でどう振る舞うか」を意識すると書きやすくなります。cd /tmp した後に、「自分のホームディレクトリの絶対パス」を表示するコマンドを 2 通り答えてください。次の章へ
次は Chapter 3「ファイルとディレクトリの基本操作」 です。
ディレクトリを歩き回れるようになった次は、ファイルを作ったり・コピーしたり・削除したり・中を見たり する操作を学びます。touch、mkdir、cp、mv、rm、cat、less ── Linux 操作の「基本動作」がそろいます。
exit で踏み台に戻って休憩しても、このまま進んでも OK です。