Linuxのディレクトリ構造を理解しよう

誕生から20年以上経過したLinux

最初のLinuxが誕生してから20年以上が経過し、現在ではサーバを中心に幅広い用途で利用されています。またインストールも非常に簡単に行え(10年以上前のLinuxはインストールするのも一苦労でした⁠⁠、身近に感じられるOS(Operating System)になりました。

ただしインストールが簡単であるがゆえ、Linuxの中身がどうなっているのかわからなかったり、多くの機能があるため、どのように使いこなせばよいのかわからない人もいるのではないでしょうか。Linuxへの理解を深めることは簡単ではありませんが、ここではLinuxのディレクトリ構成について簡単に解説します。

FHSとは

FHS(Filesystem Hierarchy Standardと)は、Linuxにおけるディレクトリ構造の標準化を試みた文書です。みなさんは通常Linuxをディストリビューション(ユーザが利用しやすいようにLinuxカーネル、ドライバ、アプリケーションをパッケージとしてまとめたもの)という形式で利用しています。これらにはそれぞれ流儀があり、ディレクトリ構造も異なっていました。

FHSはこの構造を統一することを目的として策定されました。現実的にすべてのディストリビューションが従っているわけではありませんが、Linuxのディレクトリ構成を理解するためには良い指標となります。

各ディレクトリの説明

FHS 2.3で推奨されているディレクトリ構成を図1に示します。主なディレクトリの用途は次のとおりです(これらのディレクトリの下にあるサブディレクトリについては解説を省略します⁠⁠。

/(ルート)

ディレクトリ構成の一番上を表します。FHSではこの直下にあるディレクトリは実体のあるディレクトリでもシンボリックリンクでもかまわないことになっています。

/boot

Linuxカーネル、init ram fsファイル、ブートローダGRUBの設定ファイルなどを含むディレクトリです。

/bin

システム管理者とユーザによって利用されるコマンドを配置するディレクトリです。

/dev

特殊・デバイスファイルを配置するディレクトリです。

/etc

OSの設定に必要となるファイルやプログラムの設定ファイルなどを格納するディレクトリです。

/home

ユーザのホームディレクトリとして扱います。システムユーザが利用するシェルの設定ファイルや、メール、データファイルなどを配置するディレクトリです。

/proc

Linuxのプロセスを操作したり、システム情報を処理するための手段を提供する疑似ファイルシステムです。

/tmp

システムで作業ファイルなどの配置に利用するディレクトリです。現在はtmpfsという疑似ファイルシステムを利用する場合が一般的です。

/usr

システムを利用するユーザで共有するデータを保持するディレクトリです。

/var

「variable(変わりやすい⁠⁠」データを配置するディレクトリです。⁠variable」とは変更される可能性の高いデータのことです。

図1 FHS 2.3で推奨されるLinuxのディレクトリ構造
図1 FHS 2.3で推奨されるLinuxのディレクトリ構造

Linuxを使いこなすにはこの他にも理解すべき事柄はたくさんあります。実際にLinuxに触れながら、一つ一つ理解を進めていくとLinuxの全体像をつかむことができ、よりLinuxを使いこなすことができるようになるでしょう。