🎯 この章で学ぶこと

  • Linuxのファイルは /(ルート)を頂点とした「1本の木」であること
  • 主要なディレクトリ(/etc /var /home など)の役割
  • 絶対パスと相対パスの違い、. .. ~ の意味
  • pwd / cd / ls で移動し、現在地を確認する方法
  • USBや別ディスクが階層につながる「マウント」の考え方

3.1 Linuxのすべては「1本の木」

Windowsに慣れていると、まず戸惑うのがここです。Windowsではドライブごとに C: ドライブ、D: ドライブ…と入れ物が分かれていて、それぞれが独立した根っこを持っています。しかしLinuxには ドライブレターがありません。すべては /(スラッシュ)というたった一つの頂点から始まる、1本の大きな木のように枝分かれしています。

この頂点 /ルート(root)ディレクトリと呼びます。すべてのファイルとフォルダは、必ずこのルートのどこかにぶら下がっています。イメージとしては、こんな形です。

/                 ← すべての出発点(ルート)
├── home/         ← ユーザーの部屋
│   └── yuuki/    ← あなたのホーム
├── etc/          ← 設定ファイル置き場
├── var/          ← ログなど変化するデータ
├── usr/          ← プログラム本体
└── ...

もう一つ、Linuxを理解するうえで欠かせないのが「すべてはファイル」という思想です。文書や画像はもちろん、キーボードやディスクといったハードウェアまでも、ファイルとしてこの木のどこかに表れます(後述の /dev)。動作中のプログラムの情報でさえ、ファイルのように読み出せます(/proc)。「あらゆるものが、この1本の木の中のファイルとして扱える」——この統一感が、Linuxをシンプルで強力にしています。

💡 「フォルダ」と「ディレクトリ」は同じもの

Windowsで「フォルダ」と呼ぶものを、Linuxの世界では ディレクトリと呼びます。指しているものは同じ「ファイルを入れる入れ物」です。この教材でも、以降は「ディレクトリ」で統一します。また、/ はパスの区切り文字でもあります(Windowsの \ にあたるもの)。

3.2 主要なディレクトリの意味

ルートの直下には、決まった名前のディレクトリが並んでいます。これは FHS(Filesystem Hierarchy Standard、ファイルシステム階層標準)というルールで、どのディストリビューションでもだいたい同じ場所に、同じ役割のものが置かれます。だから一度覚えれば、UbuntuでもRHELでも迷いません。よく出会うものを表にまとめます。

ディレクトリ読み役割
/ルートすべての頂点。全ディレクトリの出発点
/homeホーム一般ユーザーの個人部屋。/home/yuuki のように各人ごと
/rootルート(ホーム)管理者(rootユーザー)専用のホーム。/ とは別物
/etcエトセシステム全体の設定ファイル置き場
/varバー変化するデータ。ログ(/var/log)、メール、キャッシュなど
/usrユーザーアプリの本体・ライブラリ・共有データ(/usr/bin など)
/binビン基本コマンドの実体(lscp など)
/tmpテンプ一時ファイル置き場。再起動で消えることが多い
/devデブデバイス(装置)ファイル。ディスクやキーボードがファイルに見える
/procプロック実行中のプロセスやカーネルの情報。実体のない仮想的な場所

すべてを丸暗記する必要はありません。まずは「設定は /etc、ログは /var/log、自分のファイルは /home」の3つだけ押さえれば、実務のスタート地点としては十分です。残りは触りながら少しずつ馴染んでいきます。

💡 /dev/proc は「本物のファイル」ではない

/dev/proc の中身は、ディスクに保存された普通のファイルではありません。/dev はハードウェアへの「窓口」を、/proc はカーネルが今この瞬間に持っている情報を、ファイルの姿で見せているものです。たとえば cat /proc/cpuinfo と打つと、CPUの情報が読み出せます。これも「すべてはファイル」という思想の表れです。

3.3 絶対パスと相対パス

ファイルの場所を指し示す文字列を パス(path、道筋)と呼びます。パスには2つの書き方があり、この違いを理解することが、Linuxを自在に歩き回る鍵になります(パスの考え方は、コンピュータ大全コース第3章でも扱っています)。

たとえるなら、絶対パスは「東京都千代田区…」というフルの住所、相対パスは「ここから2つ隣の建物」という言い方です。相対パスを読み解くには、次の3つの記号を覚えます。

記号意味
.今いるディレクトリ(カレントディレクトリ)./run.sh = 今の場所のrun.sh
..一つ上のディレクトリ(親)cd .. = 一つ上へ移動
~自分のホームディレクトリ~ = /home/yuuki の短縮形

たとえば /home/yuuki/documents にいるとき、一つ上の /home/yuuki にある memo.txt は、絶対パスなら /home/yuuki/memo.txt、相対パスなら ../memo.txt と書けます。どちらも同じファイルを指します。慣れるまでは絶対パスで確実に、慣れてきたら相対パスで手早く、と使い分けると良いでしょう。

✅ 迷ったら「絶対パス」で確実に

相対パスは短くて便利ですが、「今どこにいるか」を勘違いすると、意図しない場所を操作してしまいます。特に、ファイルを削除・移動するような後戻りできない操作のときは、絶対パスで書くほうが安全です。「どこにいても、この住所は必ずこの場所」という確実さが、事故を防ぎます。

3.4 ディレクトリを移動して確認する

それでは実際に木の中を歩いてみましょう。使うのは3つのコマンドだけです。pwd(今どこにいる?)、cd(移動する)、ls(何がある?)です。

まず pwd(print working directory)。今いる場所を絶対パスで教えてくれます。

yuuki@ubuntu:~$ pwd
/home/yuuki

ログイン直後は、自分のホーム /home/yuuki にいます。プロンプトの ~ は、この場所を表していたわけです。次に cd(change directory)で /etc へ移動してみます。

yuuki@ubuntu:~$ cd /etc
yuuki@ubuntu:/etc$ pwd
/etc

プロンプトの :~ の部分が :/etc に変わりました。プロンプトは常に現在地を映してくれるので、頼れる目印になります。ここで ls(list)を打つと、このディレクトリの中身が並びます。

yuuki@ubuntu:/etc$ ls
apt      hostname   hosts    passwd   ssh      systemd
group    host.conf  fstab    profile  sudoers  ...

さらに詳しく見たいときは ls -la を使います。-l は一覧を縦に詳しく(long)、-a は隠しファイルも含めて全部(all)表示するオプションです。

yuuki@ubuntu:/etc$ ls -la
合計 812
drwxr-xr-x 95 root root 4096  2月  3 12:00 .
drwxr-xr-x 20 root root 4096  1月 20 09:14 ..
-rw-r--r--  1 root root  664  2月  3 11:58 hosts
-rw-r--r--  1 root root 2969  2月  3 11:58 passwd
drwxr-xr-x  7 root root 4096  2月  3 11:58 ssh
...

ここで注目したいのが、先頭の2行にある ... です。. は「今いるディレクトリそのもの」、.. は「一つ上の親ディレクトリ」を指す、特別な項目です(3.3で学んだ記号が、実際にここに現れています)。

💡 名前が「.」で始まるファイルは隠しファイル

Linuxでは、ファイル名の先頭が . のものは隠しファイルとして扱われ、普通の ls では表示されません。ls -a を付けると見えるようになります。設定ファイルによく使われ、ホームには .bashrc(シェルの設定)などが隠れています。「見えないだけで、ちゃんとそこにある」——迷子のファイルを探すときは -a を思い出しましょう。

木の形をひと目で眺めたいときは tree が便利です(入っていなければ第6章の方法でインストールできます)。-L 1 は「1段目まで」という深さの指定です。

yuuki@ubuntu:~$ tree -L 1 /
/
├── bin
├── boot
├── dev
├── etc
├── home
├── proc
├── root
├── tmp
├── usr
└── var

最後に、どこにいても一瞬でホームに戻るには、引数なしの cd だけを打ちます(cd ~ でも同じです)。迷子になったら、まずこれで自分の部屋に帰りましょう。

yuuki@ubuntu:/etc$ cd
yuuki@ubuntu:~$ pwd
/home/yuuki

3.5 設定は/etc、ログは/var/log、ユーザーは/home

ディレクトリの一覧を丸暗記するより、実務で毎日のように触る場所を具体的に知るほうが役に立ちます。ここでは特に重要な3か所を、実際の中身とともに見ておきましょう。

設定ファイルは /etc に集まる

Linuxで「あのソフトの設定を変えたい」と思ったら、まず /etc を見ます。ネットワーク、ユーザー、SSHサーバー、Webサーバー——ほとんどの設定ファイルがここに集約されています。たとえば、名前解決の設定ファイル /etc/hosts はこんな中身です。

yuuki@ubuntu:~$ cat /etc/hosts
127.0.0.1   localhost
127.0.1.1   ubuntu
::1         localhost ip6-localhost ip6-loopback

「設定を探すなら、まず /etc」——これは運用の常識として体に染み込ませておくと、この先ずっと役立ちます。

ログは /var/log に残る

システムやアプリが「何が起きたか」を記録したログは、/var/log にたまっていきます。サーバーの調子がおかしいとき、原因の手がかりを探す最初の場所が、ここです。どんなログがあるか覗いてみましょう。

yuuki@ubuntu:~$ ls /var/log
apt      auth.log   dpkg.log   journal   syslog
alternatives.log  boot.log  kern.log   nginx    ...

auth.log はログイン認証の記録、syslog はシステム全般の記録です。「/var/log にログがある」と知っているだけで、トラブル対応の入り口に立てます。実際のログの読み方や追いかけ方は、第4章の tailgrep、そして本コース第7章・コンピュータ大全コース第14章「サーバー運用の実務」で詳しく扱います。

自分のファイルは /home に置く

あなたが作る文書やスクリプトは、基本的に自分のホーム /home/yuuki の中に置きます。ユーザーが増えれば /home/tanaka/home/sato …と各人の部屋が並びます。他人の部屋には勝手に入れないよう権限で守られていますが、その仕組みは第5章で学びます。

🛡️ セキュリティ・運用の視点 — 「守るべき場所」を知る

重要ファイルがどこにあるかを知ることは、そのまま「どこを守るべきか」を知ることです。たとえば /etc/passwd にはユーザーの一覧が、/etc/shadow にはパスワードのハッシュ(暗号化された痕跡)が、/etc/ssh には遠隔ログインの設定が置かれています。攻撃者が狙うのも、まさにこうした場所です。だからこそ運用者は、これらの重要ファイルが「誰に」「いつ」変更されたかを監視し、勝手な書き換えを検知することに力を注ぎます。また、認証の記録が残る /var/log/auth.log は、不審なログイン試行を見つける手がかりの宝庫です。「大事なものはどこにあるか」という地図が頭に入っていれば、守りの勘所も自然と見えてきます。

3.6 マウントの概念

最後に、少し高度ですが大切な考え方に触れておきます。「Linuxにはドライブレターがない」と3.1で述べました。では、USBメモリや2台目のディスクは、どうやって使うのでしょうか。答えが マウントです。

マウントとは、別のディスクをあの1本の木の、どこかの枝に「つなぐ」操作です。たとえばUSBメモリを挿すと、その中身が /media/yuuki/USB のようなディレクトリに現れます。以後、その場所へ cd すれば、USBの中を普通のディレクトリと同じように歩けます。Windowsのように「別ドライブ」として切り離すのではなく、すべてを同じ木の一部として扱う——これがLinux流です。

今どのディスクが、木のどこにつながっているか(マウントされているか)は、df -h で一覧できます。-h は human-readable、つまり 1.9G のように人が読みやすい単位で表示するオプションです。

yuuki@ubuntu:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        30G  8.2G   20G  30% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
/dev/sdb1        64G  1.1G   63G   2% /media/yuuki/USB

右端の Mounted on の列が「木のどこにつながっているか」を示します。1行目の /dev/sda1 は本体ディスクで、木の頂点 / にマウントされています。3行目の /dev/sdb1 はUSBメモリで、/media/yuuki/USB につながっているのが読み取れます。Use%(使用率)の列は、ディスクの空き容量を確認する運用の定番でもあります。ここでは「別のディスクも、同じ木のどこかに生えてくる」というイメージだけつかめれば十分です。

まとめ

練習問題

問題 3-1

次の3つのパスは、それぞれ「絶対パス」と「相対パス」のどちらでしょうか。理由も添えて答えてください。
(1) /var/log/syslog (2) ../memo.txt (3) ./run.sh

解答を見る

(1) 絶対パス。先頭が /(ルート)から始まっており、どこにいても同じファイルを指すからです。
(2) 相対パス..(一つ上)から始まり、今いる場所を起点にしているからです。
(3) 相対パス.(今いるディレクトリ)を起点にしているからです。見分け方は簡単で、/ で始まれば絶対パス、そうでなければ相対パスです。

問題 3-2

次のそれぞれのファイルは、標準的にはどのディレクトリを探せば見つかりますか。ディレクトリ名で答えてください。
(1) システムやアプリの動作ログ (2) SSHサーバーやネットワークの設定ファイル

解答を見る

(1) /var/log。ログなど「変化していくデータ」は /var の下、とりわけ /var/log にまとまっています。
(2) /etc。システム全体の設定ファイルは /etc に集約されており、SSHの設定なら /etc/ssh、名前解決なら /etc/hosts のようになります。「設定は /etc、ログは /var/log」は運用の合言葉として覚えておきましょう。

問題 3-3

あなたは今 /home/yuuki/documents にいます。ここから /home/yuuki へ戻る方法を、(1) 相対パスを使う書き方、(2) 引数なしの cd を使う書き方、の2通りで示してください。

解答を見る

(1) 相対パスなら cd .. です。.. は「一つ上の親ディレクトリ」を意味し、/home/yuuki/documents の一つ上は /home/yuuki なので、狙いどおり戻れます。
(2) 引数なしの cd(または cd ~)を打つと、現在地に関係なく自分のホーム /home/yuuki へ一発で戻れます。移動後に pwd で現在地を確認すると確実です。