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/