連載
» 2001年08月07日 00時00分 UPDATE

Windowsユーザーに教えるLinuxの常識(2):各ディレクトリの役割を知ろう(ルートディレクトリ編) (1/2)

Windowsユーザーにとって、Linuxのディレクトリ構造は複雑怪奇で何をどうすればよいのか分からないという人も多いだろう。そこで、今回はLinuxの各ディレクトリの意味や役割、使い方を紹介する。

[関野史朗,@IT]

ディレクトリを知ればLinuxが見えてくる

 Windowsを使っている人であれば、ディレクトリごとに役割や約束事があることはご存じでしょう。

 アプリケーションをインストールする場合は、通常\Program Filesフォルダ下にサブフォルダを作ってファイルを保存します。Windows 2000であれば各ユーザー固有の設定は\Documents and Settingsフォルダ下にあり、\WINNTにはOS本体のファイルが集められています。各ユーザーが作成したデータの保存先は、ユーザー用の[マイ ドキュメント]であり、ちょっと詳しい人ならこのアイコンの実体が\Documents and Settings\ユーザー名\My Documentsであること、好きなフォルダにマッピングし直せることも知っているでしょう。

 しかし、WindowsからLinuxに移行した途端、いままでのセオリーはまったく通用しなくなります。どこに何があるのか、どこをどうすればよいのか分からなくて戸惑った人も多いはずです。

 Linuxの各ディレクトリにも、同じように固有の役目や使い方があります。そこで、今回はLinuxのディレクトリ構成について見ていくことにしましょう。各ディレクトリの意味を知ることによって、Linuxへの理解も深まることでしょう。

ディレクトリ/ファイル構成の標準規格FHS

ここがポイント

  • Filesystem Hierarchy Standard
  • Red HatやDebian、Solarisの構成

 UNIX系統のOSは、オリジナルであるSystem 7のディレクトリ構成をベースに、時代の要請を取り入れながら徐々に変わってきました。そのため、さまざまなシステムで似たり寄ったりの構成になっていますが、やはり細かい違いはあります。これを統一すべく策定されたのがFilesystem Hierarchy Standard(FHS)で、2001年8月時点ではバージョン2.2がリリースされています(http://www.pathname.com/fhs/)。(編注

編注:FHS 2.2の正式版がリリースされたのは2001年3月24日。ちなみに、2001年6月27日にはLSB(Linux Standard Base)のバージョン1.0がリリースされた。LSBは、Free Standards Groupを中心に主要ディストリビュータを加えて策定されたLinux標準仕様。FHSはLSBの一部であり、FHS 2.2がLSB 1.0におけるディレクトリ構成の定義を担っている。
Linux Standard Basehttp://www.linuxbase.org/

 FHSはディレクトリ構成を規定し、/binや/sbinにはどんなコマンドがあるべきかまで記述してあります。有力なディストリビュータが協力しているので、今後はFHSに基づいたディレクトリ構成がメジャーになっていくと思われます。

 それでは、FHS 2.2で規定されたディレクトリ構成を見ていきましょう(図1)。ただし、/etc、/usr、/varなどはさらに複雑な下位ディレクトリ構成を持っています。各ディレクトリ下のサブディレクトリについては、次回に解説します。

/   ルートディレクトリ
/bin 基本コマンド
/boot 起動に必要なファイル
/dev デバイスファイル
/etc 設定ファイル
/home(オプション) ユーザーのホームディレクトリ
/lib 共有ライブラリ
/lib<qual>(オプション)  
/mnt 一時的なマウントポイント
/opt 追加アプリケーション
/proc(Linux固有) プロセス情報など
/root(オプション) root用ホームディレクトリ
/sbin システム管理用コマンドなど
/tmp 一時的なファイル
/usr 各種プログラムなど
/var 変更されるデータ
図1 FHS 2.2で規定されたディレクトリ構成。特に注記のないものは「必須」に指定されている

 比較対象として、最もメジャーなディストリビューションであるRed Hat Linux 7.1(図2)とち密かつ膨大なパッケージ数を誇るDebian GNU/Linux 2.2(図3)の2つを挙げました。それぞれ、微妙に構成が異なっていることが分かります。

/   /
/bin   /bin
/boot   /boot
/dev   /cdrom
/etc   /dev
/home   /etc
/lib   /floppy
/lost+found   /home
/misc   /initrd
/mnt   /lib
/opt   ├ lock(ファイル)
/proc   /lost+found
/root   /mnt
/sbin   /proc
/tmp   /root
/usr   /sbin
/var   /tmp
    /usr
    /var
    ├ vmlinuz(ファイル)
    └ vmlinuz.old(ファイル)
図2 Red Hat Linux 7.1のルートディレクトリにあるディレクトリ   図3 Debian GNU/Linux 2.2のルートディレクトリにあるファイルとディレクトリ

 もう1つ、余談になりますがSolarisのディレクトリ構成も挙げておきます(図4)。同じUNIX系OS(Solarisはズバリ「UNIX」ですが)といっても、ディレクトリ構造はLinuxと異なる点が多いことに気付くでしょう。

/   ルートディレクトリ
/dev デバイスファイルへのリンク
/device デバイスファイル
/etc 設定ファイル
/export NFS用共有ディレクトリ
/kernel カーネルなど
/mnt 一時的なマウントポイント
/net オートマウント用マウントポイント
/opt アプリケーションインストール用
/platform アーキテクチャ依存プログラム
/proc プロセスファイルシステム
/sbin システム管理用コマンドなど
/tmp 一時的なファイル
/vol ボリュームマネージャ用
/usr 各種プログラムなど
bin/ 基本コマンド
lib/ 各種ライブラリ
/var 変更されるデータ
/xfn FNS用
図4 (参考)Solarisのディレクトリ構成。binとlibが/usr下にあるほか、各所でLinuxと異なることが分かる

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。