Linux のディレクトリー構造について

Linux 初心者には,全然わからない Linux のディレクトリー構造(「/」以下の各ディレクトリの意味)について,まとめておきます。

Linux は多くのディストリビューションが存在し,使用しているプログラムや環境が違います。しかし,利用者側から見れば,各ディストリビューション毎に操作方法や管理方法を覚えればならず,負担がかかります。そこで,Linux の各ディストリビューション間の再をできるだけ減らすために「Linux Standard Base」という開発ガイドラインが作成されています。その中に,Filesystem Hierarchy Standard (FHS) と呼ばれる Linux 系の OS の主なディレクトリとその内容を定めたものがあります。ちなみに,Unix もほぼ準拠しているため,Mac OS X もそれに含まれます。

以下がディレクトリ構造を簡単にまとめたものです。

ディレクトリ 説明
/ ファイルシステムの第一階層。ルートディレクトリ。
/bin 基本コマンドの実行ファイル。cp,mv,catなど。
/boot ブートローダー 関連のファイル。例えば、カーネルや initrd(初期RAMディスク)。基本的にブートローダはルート用のパーティションとは別のパーティションを用いる。
/dev 基本デバイス。接続しているHDDやUSBメモリ,その他USBで接続した周辺機器など。
/etc システム全体に関わる設定ファイル群。基本的にプログラムの設定はこのディレクトリ以下の設定ファイルを編集して変更する。
/home ユーザーの ホームディレクトリ。デスクトップや書類のディレクトリや各ユーザごとの設定など。ルートとは別パーティションとすることが多い。
/lib /bin/ や /sbin/ にある実行ファイルの基本となるライブラリ。
/media CDやDVDなどのリームバブルディスク媒体のマウントポイント。
/mnt ファイルシステムの一時的なマウントポイント。一時的にHDDを接続して認識させたいときなど。
/opt オプションアプリケーションソフトウェアパッケージのインストール用のディレクトリ。
/proc カーネルやプロセスの状態に関する情報を主にテキストで示す仮想ファイルシステム(例えば、実行時間やネットワークなど) 用。procfsのマウントポイント。
/root rootユーザのホームディレクトリ。
/sbin システム管理系コマンドの実行ファイル。例えば,rebootやshutdownなど。
/srv システムによって提供されたサイト固有のデータ
/tmp 一時ファイル置場。/var/tmp も同様。一時的なファイルを置く際に利用する。シャットダウンや再起動を行うとこのディレクトリ以下のファイルは削除される。
/usr ユーザーが共有するデータの第二階層。多くのユーザ用のユーティリティとアプリケーションの実体が存在する。
/usr/bin 一般ユーザ向けだが基本的ではないコマンドの実行ファイル。
/usr/include 標準的な includeファイル。
/usr/lib /usr/bin/ や /usr/sbin/ にある実行ファイルの基本となるライブラリ。
/usr/sbin 基本的でないシステム実行ファイル群。
/usr/share アーキテクチャに依存しない共有データ。
/usr/src ソースコード。例えば、カーネルのソースコードとそのヘッダファイルなど。
/usr/local ホスト固有のローカルデータを格納する第三階層。通常、さらにサブディレクトリとしてbin/、lib/、share/ などを持つ。
/var 可変なファイル群。内容が常に変化するようなファイルを置く。例えば、ログファイルや、スプール、など。各アプリケーションの設定データベースを置くこともある。
/var/cache アプリケーションのキャッシュデータ。時間のかかるI/Oや計算によって生成されたデータなど。
/var/lib 状態情報。プログラムの実行によって更新された永続性データなど。例えばデータベース、パッケージングシステムのメタデータなど。
/var/lock ロックファイル群。使用中リソースを保持するファイル。
/var/log ログファイル。各種のログ。デーモンのログ。
/var/mail ユーザーのメールボックス。使用するメールデーモンによってメールボックスを各ユーザのホームディレクトリ以下に置くこともできる。
/var/run 最近のブート以降の走行中システムに関する情報。例えば現在ログイン中のユーザー、走行中のデーモンなど。
/var/spool 処理待ち状態のタスクのスプール。例えばプリントキュー,メールのキューなど。
/var/tmp 一時ファイル置場。/tmp と同様に,シャットダウンや再起動を行うと内容が消去される。/tmp よりもこちらの方を利用したほうがいいとされる。

参考:FHS http://www.pathname.com/fhs/