Linuxのフォルダ構成はルートディレクトリから始まる
Linuxでは「/」が最上位のルートディレクトリです。Windowsのようにドライブレターを起点にするのではなく、すべてのディレクトリを「/」からたどります。たとえば「/etc」や「/var/log」のように、先頭の「/」から始まるパスは絶対パスと呼ばれます。
/
├── bin 実行ファイル
├── boot 起動に必要なファイル
├── dev デバイスを表すファイル
├── etc システム設定
├── home ユーザーのホームディレクトリ
├── lib 共有ライブラリなど
├── opt 追加ソフトウェア
├── tmp 一時ファイル
├── usr ユーザー向けプログラムや関連データ
├── var 変化するデータ
└── root rootユーザーのホームディレクトリ
# 上記は概要を示す構成例です。実際の構成は環境によって異なります。すべてのディレクトリを暗記するよりも、「設定」「ユーザーのデータ」「ログ」「実行ファイル」のように用途で分類すると、初めて見るパスでも役割を推測しやすくなります。ルートディレクトリ以下の標準的な役割は、Filesystem Hierarchy Standard(FHS)で整理されています。
設定・ユーザー・一時ファイルを置くディレクトリ
「/etc」は、システム全体に関わる設定ファイルを置くディレクトリです。サービスの設定などを確認する際によく参照します。ただし、編集する場合は、対象ファイルのバックアップや変更内容を確認してから作業します。
「/home」は一般ユーザーごとのホームディレクトリを置く場所です。ユーザーの作業ファイルや、ユーザー単位の設定が保存されることがあります。一方、「/root」はrootユーザー専用のホームディレクトリで、一般ユーザーの「/home」とは分けて扱います。
「/tmp」は一時ファイルを置くためのディレクトリです。ファイルがいつまで残るか、再起動時に削除されるかといった扱いは、OSや初期化・一時ファイル管理の設定によって異なります。
プログラムやライブラリが置かれるディレクトリ
「/bin」は基本的なコマンドの実行ファイル、「/sbin」はシステム管理に関係する実行ファイルを置く場所として説明されます。「/lib」はプログラムが利用する共有ライブラリなどを置く場所です。
「/usr」には、ユーザー向けのプログラムや関連データがまとめられます。配下に「/usr/bin」「/usr/sbin」「/usr/lib」などが存在する構成も一般的です。「/opt」は、標準のパッケージ管理とは別に追加ソフトウェアを配置する用途で使われる場合があります。
なお、近年のディストリビューションでは、/bin、/sbin、/libを/usr配下へのシンボリックリンクとして扱う「merged-/usr」構成があります。そのため、これらのディレクトリが実体を持つかどうかは、ディストリビューションや環境によって異なります。
ログや実行時データを確認するディレクトリ
「/var」は、システムの稼働中に変化するデータを置くディレクトリです。ログ、キャッシュ、キュー、サービスが管理するデータなどが対象になります。「/var/log」はログの保存先としてよく知られていますが、具体的なファイル名や保存方式はサービスや環境によって異なります。
「/run」は、システム稼働中に使われる実行時データを置く場所です。プロセスIDやソケットなど、再起動後に作り直されるデータが配置されることがあります。「/dev」は、ディスクなどのデバイスをファイルとして扱うためのエントリを置くディレクトリです。
障害調査では、まずサービスの状態を確認し、次に関連ログ、設定ファイル、変更前後の差分を確認するという流れで考えると整理しやすくなります。具体的なコマンドや確認場所は、対象サービスと環境に応じて変わります。
ディレクトリを覚えるときの実務上の注意点
ディレクトリ名だけで判断せず、現在の環境に実際に存在するか、シンボリックリンクになっていないかを確認しましょう。ディストリビューション、パッケージ管理方式、コンテナ環境などによって、ファイルの配置や構成が異なる場合があります。
設定ファイルの編集やログの削除など、システムに影響する操作では、権限・バックアップ・対象範囲を確認してから作業します。パスを見たときは、まず「設定か」「実行ファイルか」「ユーザーデータか」「変化するデータか」に分類すると、用途を推測しやすくなります。