Linuxのディレクトリ構造

Linuxのディレクトリ構造
Linuxのディレクトリ構造はFHS(Filesystem Hierarchy Standard)と言う標準を定めた仕様書がある。多くのLinuxディストリビューションはFHSに従ってディレクトリとファイルを配置している。
FHS(Filesystem Hierarchy Standard)
FHSはルート(/)を起点をした単一のツリー構造であり、ルート以下に目的に応じたディレクトリ階層が配置される。
FHSではディレクトリ名、各ディレクトリの役割、格納するファイルの種類、コマンドのは位置についても記載されている。
FHSでは共有可(shareable)もしくは可変(unshareable)、静的(static)もしくは動的(variable)かにより配置するディレクトリを振り分ける。
| 分類 | 説明 | 
|---|---|
| 共有可能 | ネットワークを介して共有できるファイル 例)ユーティリティ、ライブラリなど | 
| 共有不可 | ネットワークを介して共有できないファイル 例)ロックファイルなど | 
| 静的 | システム管理者の操作以外では変更されないファイル 例)バイナリコマンド、ライブラリ、ドキュメンドなど | 
| 可変 | システム稼働中に変更されるファイル 例)ログファイル、ログインユーザ情報のファイル、ロックファイルなど | 
ディレクトリ名とその役割
SHFに従ってLinuxのディレクトリ構造が構成されており、各ディレクトリ名とその役割が決まっている。
こうしたディレクトリやファイルの位置を示す情報のことをパス(path)という。
| ディレクトリ | 役割 | 
|---|---|
| / | システムファイルの頂点にあたるディレクトリ | 
| /bin | 一般ユーザ、管理者が使用するコマンドが配置 | 
| /dev | デバイスファイルを配置 システム起動時に接続されているデバイスがチェックされ、自動的に作成される | 
| /etc | システム管理用の設定ファイルや、各種ソフトウェアの設定ファイルが配置 | 
| /lib | /binや/sbinなどに置かれたコマンドやプログラムが利用するライブラリが配置 | 
| /lib/module | カーネルモジュールが配置 | 
| /media | CD/DVDなどのデータが配置 | 
| /opt | Linuxインストール後、追加でインストールしたパッケージ(ソフトウェア)が配置 | 
| /proc | カーネルやプロセスが保持する情報を配置 オプションによって一般ユーザも使用可能 | 
| /root | rootユーザのホームディレクトリ | 
| /sbin | 主にシステム管理者が使用するコマンドが配置 オプションによって一般ユーザも使用可能 | 
| /tmp | アプリケーションやユーザが利用する一時ファイルが配置 | 
| /var | システム運用中にサイズが変更するファイルが配置 | 
| /var/log | システムやアプリケーションのログファイルが配置 | 
| /boot | システム起動時に必要なブートローダ関連のファイルや、カーネルイメージが配置 | 
| /usr | ユーザが共有するデータが配置。ユーティリティ、ライブラリ、コマンドなどが配置 | 
| /usr/bin | 一般ユーザ、管理者が使用するコマンドが配置 | 
| /usr/lib | 各種コマンドが利用するライブラリが配置 | 
| /usr/sbin | システム管理者飲みが実行できるコマンドが配置 | 
| /home | ユーザのホームディレクトリが配置 |