ディレクトリ構造・構成 (FHS ファイルシステム階層標準)

スポンサーリンク

FHS (Filesystem Hierarchy Standard)

Linux では、以下のようにディレクトリが階層構造となっています。

/
├── bin
│   ├── ls
│   ├── cat
(中略)
├── boot
├── dev
├── etc
├── home
│   ├── ec2-user
(中略)

この記事では、標準のディレクトリの階層構造である FHS (Filesystem Hierarchy Standard) を紹介します。

なお、man hier コマンドでも FHS の説明は確認できます。

man hier

Linux のブート、階層構造、コマンドなど

個人的には、こちらで実践を通じて学ぶ方が好きです

/ ルートディレクトリ

ルートディレクトリは、階層の頂点となるディレクトリです。

/bin コマンドファイル

/bin は、すべてのユーザーが利用するコマンドを保存するディレクトリです。

例えば、ls コマンド (/bin/ls) や、echo コマンド (/bin/echo) などが保存されています。

/bin/echo test

/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 プロセスのマウントポイント

/proc は、実行中のプロセスマウントポイントです。

例えば、PID が 1 の「/usr/lib/systemd/systemd プロセス」は、「/proc/1」にマウントされています。

pidof /usr/lib/systemd/systemd
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 はシステム全体の設定ファイルを保存します。

第2章 ファイルシステム構造とメンテナンス Red Hat Enterprise Linux 7 | Red Hat Customer Portal
The Red Hat Customer Portal delivers the knowledge, expertise, and guidance available through your Red Hat subscription.

/var サイズが変化するファイル

/var は、サイズが変化するファイルを保存する場所です。

例えば、ログ (/var/log/) を保存します。

スポンサーリンク

関連する記事

Linux の基本に関する記事一覧

Linux のカーネルに関する記事一覧

参考書籍一覧

Linux のブート、階層構造、コマンドなど

個人的には、こちらで実践を通じて学ぶ方が好きです

スポンサーリンク

参考資料

第2章 ファイルシステム構造とメンテナンス Red Hat Enterprise Linux 7 | Red Hat Customer Portal
The Red Hat Customer Portal delivers the knowledge, expertise, and guidance available through your Red Hat subscription.
lsb:fhs [Wiki]