初めに
本記事は Linux の基本シリーズの第2回目です。そのほかの記事は以下のとおりです。
- 【Linux の基本1】初心者向け Linux コマンドの一覧
- 【Linux の基本2】ファイルシステム階層標準 ←イマココ
- 【Linux の基本3】パッケージ管理システム (yum)
- 【Linux の基本4】init システム (systemd)
- 【Linux の基本5】ロギング (systemd-journald)
また、Linux のカーネルに関する記事一覧は以下のとおりです。
- 【Linux カーネル: OS 入門1】OS、カーネルとは
- 【Linux カーネル: OS 入門2】CPU・プロセス管理
- 【Linux カーネル: OS 入門3】メモリ管理
- 【Linux カーネル: OS 入門4】ストレージ管理・ファイルシステム
- 【Linux カーネル: OS 入門5】ファイルシステムの機能一覧
- 【Linux カーネル: OS 入門6】I/O デバイス管理
FHS (Filesystem Hierarchy Standard) とは
Linux では、以下のようにディレクトリが階層構造となっています。
/ ├── bin │ ├── ls │ ├── cat (中略) ├── boot ├── dev ├── etc ├── home │ ├── ec2-user (中略)
この記事では、標準のディレクトリの階層構造である FHS (Filesystem Hierarchy Standard) を紹介します。
なお、man hier コマンドでも FHS の説明は確認できます。
/ ルートディレクトリ
ルートディレクトリは、階層の頂点となるディレクトリです。
/bin コマンドファイル
/bin は、すべてのユーザーが利用するコマンドを保存するディレクトリです。
例えば、ls コマンド (/bin/ls) や、echo コマンド (/bin/echo) などが保存されています。
/boot ブートファイル
/boot は、システムをブート (起動) するためのファイルを保存するディレクトリです。
例えば、ブートローダーの /boot/grub2 などが保存されています。
/dev デバイスファイル
/dev は、デバイスファイル (ハードウェアを表すファイル) を保存するディレクトリです。
例えば、/dev/cpu, /dev/mem(メモリ), /dev/nvme0(ストレージにアクセスするインターフェイス) などが保存されています。
/etc 設定ファイル
/etc は、設定ファイルを保存するディレクトリです。
例えば、/etc/passwd (ユーザーの設定) や /etc/hostname (コンピュータのホスト名) などが保存されています。
/home ホームディレクトリ
/home は、ユーザーのホームディレクトリを保存するディレクトリです。
例えば、他のユーザーに見られたくないファイルは、/home/<ユーザー名> に保存します。
/lib 共有ライブラリ
/lib は、共有ライブラリを保存するディレクトリです。
例えば、システムの起動時に必要な共有ライブラリ「/lib/grub」や、プログラムを実行するために必要な共有ライブラリ「/lib/java-1.8.0」や「/lib/python3.7」などが保存されています。
/media メディアのマウントポイント
/media は、取り外し可能メディア (removable media) 用のマウントポイントを指定するディレクトリです。
例えば、CD/DVD ディスクや USB メモリなどのマウントに利用します。
/mnt ストレージのマウントポイント
/mnt は、ストレージのマウントポイントとして指定するディレクトリです。
例えば、NVMe などで接続された SSD や HDD などのマウントに利用します。
/opt サードパーティソフトウェア
/opt は、アドオンパッケージ (サードパーティソフトウェア) を保存するディレクトリです。
例えば、fluentd (td-agent) をインストールすると、このディレクトリに保存されます。
/proc プロセスのマウントポイント
例えば、PID が 1 の「/usr/lib/systemd/systemd プロセス」は、「/proc/1」にマウントされています。
1
/root root ユーザーのホームディレクトリ
/root は、root ユーザーのホームディレクトリです。
/sbin ルートユーザーが実行するコマンド
/sbin は、ルートユーザーのみが実行するコマンドを保存しています。
例えば、/sbin/fsck や、/sbin/fdisk などを保存しています。
/srv システムが提供するデータ
/srv は、システムが提供するデータを保存します。
例えば、/srv/http や /srv/ftp などのデータを保存します。
/tmp 一時的なファイル
/tmp は、一時的なファイルを保存します。
このディレクトリにあるファイルは、無条件に削除しても構わないとみなされます。
/usr マシン間で共有可能なファイル
/usr は、複数のマシンに跨って共有可能なファイルを保存します。
例えば、/usr/bin
はコマンドのバイナリ、/usr/etc
はシステム全体の設定ファイルを保存します。

/var サイズが変化するファイル
/var は、サイズが変化するファイルを保存する場所です。
例えば、ログ (/var/log/) を保存します。
関連する記事
Linux の基本
- 【Linux の基本1】初心者向け Linux コマンドの一覧
- 【Linux の基本2】ファイルシステム階層標準 ←イマココ
- 【Linux の基本3】パッケージ管理システム (yum)
- 【Linux の基本4】init システム (systemd)
- 【Linux の基本5】ロギング (systemd-journald)
- 【Linux カーネル: OS 入門1】OS、カーネルとは
- 【Linux カーネル: OS 入門2】CPU・プロセス管理
- 【Linux カーネル: OS 入門3】メモリ管理
- 【Linux カーネル: OS 入門4】ストレージ管理・ファイルシステム
- 【Linux カーネル: OS 入門5】ファイルシステムの機能一覧
- 【Linux カーネル: OS 入門6】I/O デバイス管理
参考資料
