UNIX系OSのディレクトリ構造表(CentOS 7.3)

## UNIX系OSのディレクトリ構造について

UNIX系OSは、「Filesystem Hierarchy Standard(FHS, ファイルシステム階層標準)」というファイルシステムの階層標準が定められていて、それに則ってディレクトリの構造が決められています。
そのため、UNIX系OSはどれもディレクトリ構造が似ています。

## CentOS7.3のディレクトリ構造表

|ディレクトリ名|読み方(全称)|概要|
|:---|:---|:---|
|`/`|ルートディレクトリ|一番上の階層。全てのファイルとディレクトリは `/` の下に格納される|
|`/bin`|ビン(binaries)|一般ユーザー向けの基本コマンド群(cat, cp, ls など)|
|`/boot`|ブート(boot loader)|システムの起動に必要なファイル群(カーネル, 初期RAMディスク など)|
|`/dev`|デブ(device)|基本デバイスファイル群(cpu, disk など)。UNIXではデバイスをファイルとして扱う|
|`/etc`|エトセ(et cetera)|システム全体に関わる設定ファイル群|
|`/etc/opt`|エトセ スラ オプト|`/opt/` の設定ファイル群|
|`/home`|ホーム|一般ユーザーのホームディレクトリ群。ホームディレクトリとしてユーザー名のディレクトリが格納され、その中にはユーザー単位の設定ファイルやセーブデータなどを保存する|
|`/lib`|リブ(library)|`  /bin/` や `  /sbin/` にある基本コマンドの実行に必要なライブラリ群|
|`/lib64`|リブ64| 64bitの場合は `  /lib` でなくこちらのディレクトリが使用される|
|`/media`|メディア|リムーバブル媒体(CD-ROM, DVD-ROM など)のマウントポイント|
|`/mnt`|マウント(mount)|ファイルシステム(fstab など)の一時的なマウントポイント|
|`/opt`|オプト(option)|アプリケーションソフトウェアパッケージのインストール先。パッケージ管理ツール以外でインストールしたディレクトリ構造になっているアプリケーションの格納先に適している|
|`/proc`|プロック(process)|プロセス情報群。プロセスIDが付いたディレクトリが格納される|
|`/root`|ルート|rootユーザーのホームディレクトリ|
|`/run`|ラン|実行時の可変データ群。再起動時に消去される|
|`/sbin`|エスビン(system binaries)|rootユーザー向けのシステム管理コマンド群(ip, shutdown, reboot など)|
|`/srv`|エスアールブイ(served)|システムによって提供されたサイト固有のデータ群。FTPやWWWでユーザー用のディレクトリとして使用される|
|`/sys`|シス(system)|ドライバ関連のプロセス情報群。 `  /proc` が膨大になるのを防ぐために分けられている|
|`/tmp`|テンプ(temporary files)|一時ファイル群。再起動時に消去される|
|`/usr`|ユーザー(User Services and Routines)|全ユーザーが使用するアプリケーションソフトウェアやライブラリ群|
|`/usr/bin`|ユーザー スラ ビン|一般ユーザー向けの基本でないコマンド群(perl, openssl など)|
|`/usr/etc`|ユーザー スラ エトセ|あまり使用されない。通常は `  /etc` が使用される|
|`/usr/include`|ユーザー スラ インクルード|C言語のヘッダーファイル(*.h)群|
|`/usr/lib`|ユーザー スラ リブ|` /usr/bin/` や ` /usr/sbin/` にある基本コマンドの実行に必要なライブラリ群|
|`/usr/lib64`|ユーザー スラ リブ64|64bitの場合は ` /usr/lib` でなくこちらのディレクトリが使用される|
|`/usr/libexec`|ユーザー スラ リブエグゼク(library execute)|コマンドから内部的に呼ばれる補助コマンド群(postfix用の補助コマンド など)|
|`/usr/local`|ユーザー スラ ローカル|ホスト固有のローカルデータ群。サブディレクトリに `bin etc include lib lib64 libexec sbin share src` が存在する|
|`/usr/local/bin`|ユーザー スラ ローカル スラ ビン|ソースコードをビルドするなど、パッケージ管理ツール以外でインストールした単一ファイルのアプリケーションの格納先に適している|
|`/usr/local/src`|ユーザー スラ ローカル スラ ソース|手動でビルドするソースコードの格納先に適している|
|`/usr/sbin`|ユーザー スラ エスビン|rootユーザー向けの基本でないコマンド群|
|`/usr/share`|ユーザー スラ シェア(shared)|アーキテクチャ(OS など)に依存しない共有ファイル群。具体的にはドキュメントやマニュアル(man)、各アプリケーションソフトウェアで使用するデータベースなどが保存される|
|`/usr/src`|ユーザー スラ ソース(source code)|ソースコード群(カーネルのソースコードとそのヘッダーファイル群 など)|
|`/usr/tmp`|ユーザー スラ テンプ|`  /usr` の一時ファイル群。通常、 `  /tmp` にシンボリックリンクが貼られている|
|`/var`|バー(variable)|可変ファイル群。ログやキャッシュなど、内容が常に変化するファイル群が格納される。インストールしたパッケージによっては `  /var` 直下にディレクトリが作成されることがある|
|`/var/cache`|バー スラ キャッシュ|アプリケーションのキャッシュファイル群|
|`/var/crash`|バー スラ クラッシュ|クラッシュ時のダンプデータ群。クラッシュの原因を究明するために使用する|
|`/var/db`|バー スラ ディービー(database)|アプリケーションのデータベース群|
|`/var/empty`|バー スラ エンプティ|SSHで使用される|
|`/var/lib`|バー スラ リブ|アプリケーションの実行により動的に生成された状態情報群|
|`/var/local`|バー スラ ローカル|`    /usr/local` の可変ファイル群|
|`/var/lock`|バー スラ ロック|ロックファイル群。排他制御を行う場合に使用する|
|`/var/log`|バー スラ ログ|ログファイル群。様々なログが存在する|
|`/var/mail`|バー スラ メール|各ユーザーのメールボックス|
|`/var/opt`|バー スラ オプト| `/opt/` の可変ファイル群|
|`/var/run`|バー スラ ラン| 非推奨になったため `  /run` のシンボリックリンクが貼られている|
|`/var/spool`|バー スラ スプール|処理待ちのスプールファイル群(印刷待ちデータ、送信待ちメールデータ など)|
|`/var/tmp`|バー スラ テンプ|一時ファイル群。 `  /tmp` と異なり再起動時に消去されない|

## 参考リンク

- [Filesystem Hierarchy Standard - Wikipedia](https://ja.m.wikipedia.org/wiki/Filesystem_Hierarchy_Standard)
- [Linuxの基本の基本。Linuxの基本的なディレクトリ構成 | OXY NOTES](http://oxynotes.com/?p=5987)
- [WindowsのあのフォルダはUNIX/Linuxで言えばあそこだ - Qiita](http://qiita.com/yuba/items/669f718fe6e62dbaab19)
- [ビルド用に/usr/local/srcディレクトリを作成 - profaim.jp](http://www.profaim.jp/hardware/nas/dc-mcnas1/mkdir_usrsrc.php?profaim_system=0dc0255c52c346bd6dd3d80c6335b689)
- [エンタープライズ： - 第14回：FHSによるディレクトリの規格化](http://www.itmedia.co.jp/help/howto/linux/0007master/14/)