HIER(7)

名前
hier - ファイルシステム階層の説明

説明
典型的な Linux system には以下のようなディレクトリがある (他にもたくさんのディレクトリがあるが):

/   ルートディレクトリ。ここが階層の起点となる。

/bin
    このディレクトリには、シングルユーザーモードで システムの起動や修理を行う際に必要な実行形式ファイルが含まれる。

/boot
    ブートローダが用いる静的なファイルが含まれている。 このディレクトリにはブートプロセスの間に必要なファイルだけが置かれる。 マップインストーラや設定ファイルは /sbin や /etc に置くべきである。

/dev
    物理デバイスを参照している スペシャルファイルやデバイスファイルの置き場所。 mknod(1) を参照のこと。

/etc
    マシン固有の設定ファイルが置かれる場所。X11 のような 大規模なソフトウェアパッケージでは、 /etc 以下に更にパッケージ単位でサブディレクトリが作られることもある。 サイト全体に有効な設定ファイルは、ここではなく /usr/etc に置かれることもある。 しかし、プログラムからのこれらのファイルの参照先は、常に /etc にすべきである。 /usr/etc 以下のファイルに対しては、それらへのリンクを /etc に置けばよい。

/etc/opt
    /opt にインストールされたアドオンアプリケーションが使う、 ホスト固有の設定ファイルの置き場所。

/etc/sgml
    SGML や XML の設定ファイルの置き場所 (なくてもよい)。

/etc/skel
    新たにユーザーアカウントを作る際、 通常このディレクトリにあるファイルが ユーザーのホームディレクトリにコピーされる。

/etc/X11
    X11 window system の設定ファイルの置き場所 (なくてもよい)。

/home
    通常、ユーザーのホームディレクトリが、 このディレクトリ直下ないしサブディレクトリの下に作成される。 このディレクトリの構成をどうするかは、 ローカルマシンの管理者が決めることである。

/lib
    このディレクトリには、システムの起動時に必要な共有ライブラリや、 ルートファイルシステムでコマンドを実行するのに必要な共有ライブラリを置く。

/media
    このディレクトリには、 CD/DVD ディスクや USB スティックなどの取り外し可能メディア (removable media) 用のマウントポイントが置かれる。

/mnt
    このディレクトリは、一時的にマウントするファイルシステム用の マウントポイントである。 ディストリビューションによっては、一時的にマウントするファイルシステム用の マウントポイントとして、 /mnt 内にサブディレクトリが用意されている場合がある。

/opt
    このディレクトリにはアドオンパッケージの静的なファイルが置かれる。

/proc
    このディレクトリは proc ファイルシステムのマウントポイントである。 proc ファイルシステムは、実行中プロセスやカーネルの情報を提供する。 この疑似ファイルシステムの詳細は、 proc(5) で説明されている。

/root
    通常ここが root ユーザのホームディレクトリになる (なくてもよい)。

/sbin
    /bin と同様に、 このディレクトリにはシステムの起動に必要なコマンドが含まれる。 ただしここには、一般ユーザーは通常実行しないコマンドが置かれる。

/srv
    このディレクトリには、このシステムで提供される サイト固有のデータが置かれる。

/tmp
    このディレクトリには、 定期的なジョブによって、またはシステム起動時に、 無条件に削除して構わない一時的なファイルが置かれる。

/usr
    通常このディレクトリは、独立したパーティションがマウントされる。 ここには、共有可能で読み込み専用のものだけが含まれ、 よっていろいろな Linux マシンからマウントできる。

/usr/X11R6
    X Window System, Version 11 release 6 (なくてもよい)。

/usr/X11R6/bin
    X Window System のバイナリの置き場所。 古いディレクトリである /usr/bin/X11 からここにシンボリックリンクが張られていることが多い。

/usr/X11R6/lib
    X Window System に関連するデータファイルの置き場所。

/usr/X11R6/lib/X11
    ここには X の動作に必要な種々のファイルが含まれている。 /usr/lib/X11 からここにシンボリックリンクが張られていることが多い。

/usr/X11R6/include/X11
    ここには X11 Window System を使ったプログラムをコンパイルするために 必要なインクルードファイルが含まれている。 /usr/include/X11 からここにシンボリックリンクが張られていることが多い。

/usr/bin
    このディレクトリは、実行形式ファイルの主な置き場所である。 システムのブートやシステム復旧には必要とされない、 一般ユーザーが利用するコマンドの多くは、 ローカルにインストールされるのでない限り、 このディレクトリに置くべきである。

/usr/bin/X11
    X11 コマンドの伝統的な置き場所。Linux では、通常 /usr/X11R6/bin にシンボリックリンクが張られている。

/usr/dict
    /usr/share/dict に置き換えられた。

/usr/doc
    /usr/share/doc に置き換えられた。

/usr/etc
    サイト内部の複数のマシンが共有するような設定ファイルが置かれる。 しかしながら、コマンドはそれらのファイルの参照先を、常に /etc にすべきだろう。 /etc のファイルからリンクを張って、 /usr/etc の適切なファイルを指すようにすべきである。

/usr/games
    ゲームプログラムや教育用プログラムのバイナリが含まれている (なくてもよい)。

/usr/include
    C コンパイラ用のインクルードファイルが含まれている。

/usr/include/X11
    C コンパイラと X Window System 用のインクルードファイルが含まれている。 通常これは /usr/inlcude/X11 へのシンボリックリンクになっている。

/usr/include/asm
    アセンブラ関数の宣言を行うインクルードファイルが含まれている。 このディレクトリは、以前は /usr/src/linux/include/asm へのシンボリックリンクだった。

/usr/include/linux
    ここには、システムのリリースのたびごとに変更されうる情報が含まれる。 ここは以前は /usr/src/linux/include/linux にシンボリックリンクされており、 オペレーティングシステム固有の情報が得られるようになっていた。 (ここに置くインクルードファイルは、 現在の libc およびユーザ空間で正しく動作するものでなければならない。 しかし Linux のカーネルソースは ユーザプログラムといっしょに使うようには設計されていないし、 あなたが使っている libc も関知しない。 /usr/include/asm と /usr/include/linux を適当なカーネルツリーへのリンクにしたりすると、破綻するのは目に見えている。 Debian ではこうせずに、libc*-dev package が提供する、 安定したカーネルバージョンのヘッダファイルを置いている。)

/usr/include/g++
    GNU C++ コンパイラ用のインクルードファイルが含まれている。

/usr/lib
    オブジェクトライブラリ (ダイナミックライブラリも含む) と、 直接には起動されないような実行形式ファイル少々とが置かれる。 複雑なプログラムでは、更にサブディレクトリがあるかもしれない。

/usr/lib/X11
    X のプログラムに関連するデータファイルと、 X Window System の設定ファイルの置き場所。 Linux では通常 /usr/X11R6/lib/X11 にシンボリックリンクが張られている。

/usr/lib/gcc-lib
    GNU C コンパイラ gcc(1) 用の実行形式ファイルとインクルードファイルが含まれている。

/usr/lib/groff
    GNU groff 文書整形システムのためのファイルが含まれている。

/usr/lib/uucp
    uucp(1) のためのファイルが含まれている。

/usr/local
    このディレクトリは、 サイトローカルなプログラムがインストールされる典型的な場所である。

/usr/local/bin
    サイトローカルなプログラムが含まれている。

/usr/local/doc
    サイトローカルなドキュメントが含まれている。

/usr/local/etc
    サイトローカルにインストールされたプログラムの設定ファイルの置き場所。

/usr/local/games
    サイトローカルにインストールされたゲームのバイナリの置き場所。

/usr/local/lib
    サイトローカルにインストールされたプログラムの関連ファイルの置き場所。

/usr/local/include
    ローカルな C コンパイラのヘッダファイルの置き場所。

/usr/local/info
    サイトローカルにインストールされたプログラムの info ページの置き場所。

/usr/local/man
    サイトローカルにインストールされたプログラムのマニュアルページの置き場所。

/usr/local/sbin
    サイトローカルにインストールされたシステム管理コマンドの置き場所。

/usr/local/share
    同じ OS ならアーキテクチャが異なっても共有できる、 ローカルなアプリケーションデータの置き場所。

/usr/local/src
    サイトローカルにインストールされたソフトウェアのソースコードの置き場所。

/usr/man
    /usr/share/man に置き換えられた。

/usr/sbin
    このディレクトリには、システム管理コマンドが含まれる。 ここに置かれるコマンドは、ブートプロセスや /usr のマウント、システムの修理などに必要なものであってはならない。

/usr/share
    このディレクトリには、アプリケーションごとに固有なデータ (同じ OS ならアーキテクチャが違っていても共有できるもの) がサブディレクトリ単位で置かれる。 以前には /usr/doc, /usr/lib, /usr/man などにあった内容が、多くここに置かれている。

/usr/share/dict
    スペルチェッカ用の単語リストが含まれる。

/usr/share/doc
    インストールされたプログラムのドキュメントの置き場所。

/usr/share/games
    /usr/games に置かれたゲーム用の静的なデータファイルの置き場所。

/usr/share/info
    info ページが置かれる。

/usr/share/locale
    ロケール (locale) 情報が置かれる。

/usr/share/man
    マニュアルページ。各ページはセクションに応じたサブディレクトリに置かれる。

/usr/share/man/<locale>/man[1-9]
    これらのディレクトリには、 各ロケールのマニュアルページのソースが置かれている。 すべてのマニュアルページで同じ言語とコードセットを使用するシステムでは、 <locale> は省略されることがある。

/usr/share/misc
    同じ OS ならアーキテクチャが違っていても共有できる、雑多なデータの置き場所。

/usr/share/nls
    母国語サポート (native language support) 用のメッセージカタログの置き場所。

/usr/share/sgml
    SGML や XML のファイルの置き場所。

/usr/share/terminfo
    terminfo のデータベースが置かれる。

/usr/share/tmac
    groff と一緒には配布されていない troff マクロの置き場所。

/usr/share/zoneinfo
    タイムゾーン情報のファイルが置かれる。

/usr/src
    システム上の色々なコンポーネントのソースファイル (参照用のパッケージも含む) の置き場所。 この場所で自分のプロジェクトの作業をしてはいけない。 /usr 以下のファイルはソフトウェアのインストールの時以外は 読み込み専用になっているべきだからである。

/usr/src/linux
    かつてはカーネルソースの伝統的な置き場所だった。 ディストリビューションによっては、 出荷時のデフォルトのカーネルのソースをここに置いている。 自分でカーネルをビルドするときは別の場所を使うほうがいいだろう。

/usr/tmp
    今では用いられなくなった。このディレクトリは /var/tmp へのリンクにすべきである。 このリンクは互換性のためだけにあり、もはや使うべきでない。

/var
    このディレクトリには、スプールファイルやログファイルのような、 サイズが変化するファイルが置かれる。

/var/adm
    このディレクトリは /var/log に置き換えられた。 ここは /var/log へのシンボリックリンクにすべきである。

/var/backups
    歴史的な理由からまだ残っている。

/var/cache
    プログラムのためにキャッシュされたデータの置き場所。

/var/catman/cat[1-9] or /var/cache/man/cat[1-9]
    これらのディレクトリには、整形済みのマニュアルページが、 ページのセクションに従って置かれている。 (整形済みマニュアルページの利用は推奨されていない。)

/var/cron
    歴史的な理由からまだ残っている。

/var/lib
    プログラムの状態に関する情報のうち、可変なものの置き場所。

/var/local
    /usr/local 用の可変データの置き場所。

/var/lock
    ロックファイルの置き場所。 デバイスのロックファイルの命名は、慣習として LCK..<device> とされている。ここで <device> はファイルシステム上でのデバイス名である。 利用されているフォーマットは HDU UUCP のロックファイルのものである。 すなわち各ロックファイルには アスキー 10 進数値文字で表記した PID 10 バイトと、 それに続いて改行文字とが含まれている。

/var/log
    種々のログファイルの置き場所。

/var/opt
    /opt 用の可変データの置き場所。

/var/mail
    ユーザのメールボックスの置き場所。 /var/spool/mail を置き換えた。

/var/msgs
    歴史的な理由からまだ残っている。

/var/preserve
    歴史的な理由からまだ残っている。

/var/run
    実行時の可変ファイルが置かれる。 例えばプロセス識別子 (PID) を保持するファイルや、 ユーザのログイン情報ファイル (utmp) などである。 ここのファイルは、通常システム起動時に削除される。

/var/spool
    色々なプログラムのスプールファイル (あるいはキューファイル) の置き場所。

/var/spool/at
    at(1) のジョブスプール。

/var/spool/cron
    cron(8) のジョブスプール。

/var/spool/lpd
    印刷用のスプールファイルが置かれる。

/var/spool/mail
    /var/mail に置き換えられた。

/var/spool/mqueue
    キューイングされた送信メールの置き場所。

/var/spool/news
    ニュースのスプールディレクトリ。

/var/spool/rwho
    rwhod(8) のスプールファイルの置き場所。

/var/spool/smail
    メール配送プログラム smail(1) のスプールファイルの置き場所。

/var/spool/uucp
    uucp(1) のスプールファイルの置き場所。

/var/tmp
    /tmp と似ているが、 このディレクトリに置かれる一時的なファイルは保存期間の制限がない。

/var/yp
    NIS のデータベースファイルの置き場所。

準拠
The Filesystem Hierarchy Standard, Version 2.2 http://www.pathname.com/fhs/.

バグ
このリストは網羅的なものではない。 個々のシステムでは異なる部分があるかもしれない。

関連項目
find(1), ln(1), proc(5), mount(8) The Filesystem Hierarchy Standard

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.54 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。