Linux基礎:ディレクトリの役割(FHS)

 Linux システムにおけるファイルやディレクトリの配置は、FHS(Filesystem Hierarchy Standard) という標準仕様に基づいて設計されています。
 FHS は「ディレクトリごとにどのような種類のファイルを格納すべきか」を定める規格であり、多くの Linux ディストリビューションがこれに準拠しています。これにより、異なるディストリビューション間でも共通したディレクトリ構成を持ち、ユーザーや管理者は混乱することなくシステムを利用できます。

 ただし、FHS に完全準拠していない部分もあり、ディストリビューション固有のディレクトリが追加されることもあります。たとえば Red Hat 系には /etc/sysconfig が存在し、各種サービスの設定ファイルを格納しています。

 ここでは、ディレクトリの役割と FHS の基本概念 を整理し、代表的なディレクトリの用途を表で解説します。また、実際に Rocky Linux 環境でコマンドを使ってディレクトリを調べる方法も紹介します。


1.FHS の概要

1.1. FHS とは

 FHS (Filesystem Hierarchy Standard) は、Linux や UNIX 系 OS におけるファイル配置を標準化するために策定された仕様です。
バージョン 3.0 が最新であり、Linux Foundation によって公開されています。

特徴

  • ディレクトリ構造を統一し、管理を容易にする。
  • 異なるディストリビューション間での移行性を高める。
  • パッケージ管理やソフトウェア配布の効率を改善する。

1.2. FHS の採用状況

 主要なディストリビューション(Rocky Linux, Ubuntu, Debian, Fedora など)は概ね FHS に準拠していますが、一部は独自の拡張ディレクトリを持っています。

例:

  • Rocky Linux(Red Hat 系) → /etc/sysconfig
  • Debian 系 → /etc/default

2.主要ディレクトリの役割

2.1. 基本ディレクトリ一覧

ディレクトリ役割
/bin一般ユーザーでも利用可能な基本コマンドを格納
/sbin管理者専用のシステム管理コマンドを格納
/bootLinux カーネルやブートローダー関連ファイルを格納
/devデバイスファイルを格納(仮想ファイルシステム)
/etcシステム設定ファイル、サービス設定ファイルを格納
/home各ユーザーのホームディレクトリを格納
/lib共有ライブラリやカーネルモジュールを格納
/mnt一時的なマウントポイント
/mediaUSB や DVD などリムーバブルメディアのマウントポイント
/opt追加ソフトウェアのインストール先
/procカーネル情報やプロセス情報を提供する仮想ファイルシステム
/rootroot ユーザーのホームディレクトリ
/tmp一時ファイルを格納
/usr一般ユーザー向けプログラムやライブラリを格納
/usr/local管理者が追加インストールしたソフトウェアを格納
/varログやメールスプール、キャッシュなど可変データを格納
/var/logシステムログファイルを格納

2.2. 実際の構造例

Rocky Linux の環境で / 配下を表示した例です。

[user@rocky9 ~]$ ls /
afs  boot  etc   lib    media  opt   root  sbin  sys  usr
bin  dev   home  lib64  mnt    proc  run   srv   tmp  var

このように、FHS に基づいたディレクトリが配置されていることが確認できます。

3.コマンドを使ったディレクトリ確認

3.1. ls コマンド

書式

ls [オプション] [ディレクトリ]

役割

指定したディレクトリ内のファイル・ディレクトリを一覧表示する。

主なオプション

オプション説明
-l詳細情報(権限、所有者、サイズ、更新日時など)を表示
-a隠しファイル(先頭が .)も含めて表示
-hサイズを KB/MB/GB 単位で表示

使用例

[user@rocky9 ~]$ ls -lh /var/log
合計 12M
lrwxrwxrwx. 1 root   root     39  8月 17 10:14 README -> ../../usr/share/doc/systemd/README.logs
drwxr-xr-x. 2 root   root   4.0K  8月 17 10:20 anaconda
drwx------. 2 root   root     23  8月 17 10:20 audit
-rw-------. 1 root   root      0  9月 12 00:00 boot.log
-rw-------. 1 root   root    17K  9月  3 00:00 boot.log-20250903
-rw-------. 1 root   root    17K  9月  4 00:00 boot.log-20250904
-rw-------. 1 root   root    33K  9月  6 00:00 boot.log-20250906
-rw-------. 1 root   root    29K  9月  9 00:00 boot.log-20250909
(省略)

ここでは /var/log に保存されているログファイルが確認できます。

3.2. du コマンド

書式

du [オプション] [ディレクトリ]

役割

ディレクトリやファイルのディスク使用量を表示する。

主なオプション

オプション説明
-h人が読みやすい単位(KB/MB/GB)で表示
-s合計のみを表示
-c合計を最後に表示

使用例

[user@rocky9 ~]$ su -
パスワード:
[root@rocky9 ~]# du -sh /var
259M	/var

ここでは /var ディレクトリ全体で 1.2GB の容量を消費していることがわかります。

まとめ

  • FHS(Filesystem Hierarchy Standard) は Linux のディレクトリ構造を標準化する規格であり、システム管理の基盤となっている。
  • 各ディレクトリには明確な役割があり、システムファイル、ユーザーデータ、ログ、設定ファイルなどが整理されて格納されている。
  • lsdu といったコマンドを用いることで、ディレクトリの役割や実際の使用状況を確認できる。

 Linux 管理者にとって、FHS を理解することはトラブルシューティングや運用管理を行う上で必須の知識です。