名前


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 一時的にマウントされるファイルシステムのマウントポイントが置かれる。
/opt このディレクトリにはアドオンパッケージの静的なファイルが置かれる。
/proc このディレクトリは proc ファイルシステムのマウントポイントである。 proc ファイルシステムは、実行中プロセスやカーネルの情報を提供する。 この疑似ファイルシステムの詳細は、 proc(5) で説明されている。
/root 通常ここが root ユーザのホームディレクトリになる (なくてもよい)。
/sbin /bin と同様に、 このディレクトリにはシステムの起動に必要なコマンドが含まれる。 ただしここには、一般ユーザーは通常実行しないコマンドが置かれる。
/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(1) のジョブスプール。
/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), mount(1), proc(5)

The Filesystem Hierarchy Standard

openSUSE Logo

コンテンツ