【Linux】ディレクトリ構成の基本(/etc, /var, /home等)

Linux

こんにちは、かつコーチです。

前回は、ターミナルとシェルの基本的な仕組みを解説しました。

今回は、Linuxを操作する上で必ず出会う「ディレクトリ構成」について解説します。

Windowsの「Cドライブ」やmacOSの「Finder」とは違う独特の構造に、最初は戸惑うかもしれません。

この記事を読めば、/etc/varといったディレクトリが何のためにあるのかが分かり、迷わずファイルを探せるようになります。

Linuxのディレクトリ構成とは?

すべてが「/」から始まるツリー構造

Linuxでは、すべてのファイルとディレクトリがルートディレクトリと呼ばれる/(スラッシュ1文字)を頂点にしたツリー構造で管理されています。

Windowsのように「Cドライブ」「Dドライブ」といった複数の起点は存在せず、外付けドライブやUSBメモリも、この/から始まる木構造のどこかに接続(マウント)される形になります。

この設計により、どんなファイルも/から始まる1本のパスで一意に表現できるのが特徴です。

FHS(Filesystem Hierarchy Standard)という共通ルール

主要なディストリビューションは、FHS(Filesystem Hierarchy Standard)という標準規格に沿ってディレクトリを配置しています。

このルールがあるおかげで、Ubuntuで学んだディレクトリの意味は、CentOSやRHELでもほぼそのまま通用します。

系統が違っても「設定ファイルは/etcにある」という前提が崩れないのは、このFHSのおかげです。

主要ディレクトリの役割を理解する

/etc:システム全体の設定ファイル置き場

/etcは、システムやインストール済みソフトウェアの設定ファイルが集まるディレクトリです。

「etc」は英語の「et cetera(その他もろもろ)」に由来するとされ、テキスト形式の設定ファイルが中心です。

# ネットワーク設定に関わるファイルを確認する例
ls /etc/netplan/

サーバーの挙動をカスタマイズしたいときは、まずこの/etc配下を探すのが基本になります。

/var:頻繁に変化するデータの置き場

/varは、ログファイルやキャッシュ、メールデータなど、システム稼働中に内容が変化し続けるデータを置くディレクトリです。

「var」は「variable(変化する)」の略で、/etcとは対照的に「動きのあるデータ」を扱う点が特徴です。

# システムログを確認する例
sudo ls /var/log/

サーバーのトラブルシューティングでは、/var/log配下を確認する場面が非常に多いため、早い段階で場所を覚えておくと役立ちます。

/home:一般ユーザーの個人フォルダ

/homeは、各ユーザー専用のファイルを保存する個人ディレクトリです。

katsuというユーザーであれば/home/katsuが個人フォルダとなり、デスクトップ環境のドキュメントやダウンロードもこの配下に作られます。

Windowsで言う「ユーザー」フォルダに近いイメージを持つと理解しやすいです。

その他の主要ディレクトリ一覧

ディレクトリ役割
/bin, /usr/bin一般ユーザーも使う基本コマンドの実行ファイル
/sbin, /usr/sbin管理者向けコマンドの実行ファイル
/rootroot(管理者)ユーザー専用のホームディレクトリ
/tmp一時ファイル置き場(再起動で消えることが多い)
/optサードパーティ製ソフトウェアを個別に置く場所
/devハードウェアデバイスを表す特殊ファイル
/proc稼働中プロセスの情報を仮想的に見せる領域

すべてを一度に覚える必要はなく、まず/etc/var/homeの3つを押さえれば、日常操作の大半はカバーできます。

ディレクトリ構成を実際に確認する

treeコマンドで階層を可視化する

ディレクトリ構造を視覚的に把握するには、treeコマンドが便利です。

# treeコマンドをインストールする(Ubuntuの場合)
sudo apt install tree

# ルート直下を1階層だけ表示する
tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── opt
├── proc
├── root
├── tmp
├── usr
└── var

このように出力されるため、初めてサーバーに入ったときの全体像把握にも役立ちます。

lsコマンドで各ディレクトリの中身を見る

# /etcの中身を一覧表示する
ls /etc

# /varの中身を一覧表示する
ls /var

いきなり全部を理解しようとせず、「今日は/etcだけ見てみる」というように、少しずつ触れていくのがおすすめです。

つまずきやすいポイント:絶対パスと相対パスを混同した話

私が初心者の頃、/etcにいるつもりでコマンドを打ったら、まったく違う場所のファイルを編集してしまったことがあります。

❌ Before:現在地を確認せずに相対パスでファイルを指定する

# 自分がどこにいるか確認せずに実行
cat nginx.conf

このとき自分は/home/katsuにいたため、「そのようなファイルはありません」というエラーが返ってきました。

nginx.confのような相対パスは、あくまで「今いる場所」からの位置指定であり、/etc/nginx/nginx.confとは別物です。

✅ After:絶対パスで指定するか、現在地を確認してから実行する

# 絶対パスで確実に指定する
cat /etc/nginx/nginx.conf

# または、今どこにいるか先に確認する
pwd

pwdで現在地を確認する癖をつけてから、パスの指定ミスによる「ファイルが見つからない」エラーはほとんど起きなくなりました。

応用・一歩先の使い方

シンボリックリンクで構成を読み解く

ls -la/binを確認すると、実体ではなく別の場所へのショートカットになっていることがあります。

ls -la /
lrwxrwxrwx 1 root root 7 ... bin -> usr/bin

->の表記はシンボリックリンクと呼ばれ、/binが実際には/usr/binを指していることを示しています。

近年のディストリビューションでは、こうしたリンクによってディレクトリ構成を整理している例が多く、ls -la->を見かけたら「実体は別の場所」と考える習慣をつけましょう。

まとめ

この記事のポイント

  • Linuxはすべて/を頂点としたツリー構造で管理され、FHSという共通ルールに沿って配置される
  • /etcは設定ファイル、/varは変化するデータ、/homeは個人フォルダという役割分担
  • treeコマンドでディレクトリ構造を可視化すると全体像を把握しやすい
  • ファイル操作でエラーが出たら、まずpwdで現在地を確認し、絶対パスと相対パスを混同していないかチェックする

次に読むべき記事

ディレクトリ構成が分かったら、次はいよいよ基本コマンドを使った実践操作に進みましょう。

→ 次の記事:基本コマンド一覧(ls・cd・pwd・mkdir)

タグ: Linux, 初心者向け, 入門

タイトルとURLをコピーしました