Linux系OSの基本的なディレクトリ構造を知ろう!
普段windows系OSを使用している方は、Linuxのディレクトリ構成は複雑で何がどうなっているのか疑問に思われることもあるかと思います。そこで今回は、Linuxの各ディレクトリの意味や用途について説明します。
目次
ディレクトリとは
そもそも「ディレクトリ」って何だろうという方もいるかと思います。簡単に説明すると、記憶媒体(ハードディスクなど)でファイルを整理・保管する場所のことです。windows系ユーザであれば同じ仕組みのことを「フォルダ」と呼んでいると思いますが、それがLinuxでは「ディレクトリ」と呼びます。
FHS(Filesystem Hierarchy Standard)
Linuxのディレクトリ構造は、多くのディストリビューションでディレクトリ構造を定義した規格であるFHS(Filesystem Hierarchy Standard)に準拠して設定されています。
ディレクトリ構成解説
では主なディレクトリ構成について説明していきます(下表参照)。なお、/etcや/varなど各ディレクトリはその配下にさらに複雑なサブディレクトリを有しています。サブディレクトリの説明についてはまた別の機会にします。
ディレクトリ名 | 意味・用途 | 読み方 |
---|---|---|
/ | ルートディレクトリ | |
bin | 基本コマンド | ビン |
boot | 起動に必要なファイル | ブート |
dev | デバイスファイル | デブ |
etc | 設定ファイル | エトセ |
home | ユーザのホームディレクトリ | ホーム |
initrd | 起動時に読み込まれるロードモジュール | イニットアールディー |
lib | 共有ライブラリ | リブ |
lost+found | 破損ファイルの断片が格納される | ロストアンドファウンド |
media | リムーバブルメディア用マウントポイント | メディア |
mnt | ハードディスク等の一時的なマウントポイント | マウント |
opt | 追加アプリケーション | オプト |
proc | カーネルやプロセス情報など | プロック |
root | root用ホームディレクトリ | ルート |
sbin | システム管理用コマンドなど | エスビン |
tmp | 一時的なファイル | テンプ |
usr | 各種プログラムなど | ユーザ |
var | 変更されるデータ | バア |
binディレクトリ
lsコマンドやmkdirコマンドのようなシステム管理者(root)と一般ユーザの両方が使うようなコマンドが格納されています。
bootディレクトリ
基本的にbootに格納されているファイルを操作することは無いと思います。このbootディレクトリに起動時に必要なファイルが格納されているとだけ覚えておけば問題ありません。
devディレクトリ
デバイスに関するファイルが保存されているディレクトリです。下手にさわるとそのデバイス自体が使用できなくなる為注意してください。(といっても普段このディレクトリをさわることはほとんど無いと思いますが)
etcディレクトリ
システムに関する設定ファイルやアプリケーションに関する設定ファイルが格納されています。例えば名前解決時に使用するhostsファイルやPHPの設定ファイルであるphp.ini、ユーザ情報が記載されているpasswdファイルなどがあります。
homeディレクトリ
各ユーザのホームディレクトリになります。例えばユーザ「test」でログインした場合、最初にアクセスするディレクトリは「/home/test」になります。
libディレクトリ
起動時や各コマンド実行時に必要となるライブラリが格納されています。
optディレクトリ
パッケージ管理ツール(RPM等)を使用してプログラムを追加する場合に使用します。
procディレクトリ
カーネル情報やサーバーのハードウェア情報を格納している仮想ディレクトリです。
rootディレクトリ
システム管理者(root)のホームディレクトリです。
sbinディレクトリ
システム管理者(root)が使用するコマンドが格納されています。serviceコマンドやshutdownコマンドなど、システム全体に影響のあるコマンドが格納されているため、システム管理者(root)のみが実行できる権限となっています。
tmpディレクトリ
一時的なファイルや作業中のファイルを格納するディレクトリです。このディレクトリ内のファイルは再起動時に削除されるため、重要なファイルは置かないよう注意が必要です。
usrディレクトリ
ユーザ向けのディレクトリで、例えばソースからコンパイルする際などにはこのディレクトリに格納します。
varディレクトリ
ログファイルやスプールなど変更されていくデータが格納されるディレクトリです。よく使用するものとして、「/var/log」に格納されている「messages(システムのログ。障害等のトラブル時は真っ先に確認すると思います)」やメールの送信履歴等を調査する際の「maillog」などがあります。
まとめ
Linuxのディレクトリ構成の基礎については以上となりますが、初めての方は複数あって覚えにくいかもしれません。その場合、Linuxサーバの運用保守を行う際は、varディレクトリとetcディレクトリ、サーバ用途によってはhomeディレクトリをよく使用しますので、まずはそれらのディレクトリから覚えてみてはいかがでしょうか。
また、各ディレクトリがどのような目的に用いられているのかを把握しておくことで、サーバ構築前の設計やバックアップ計画の立案などが容易になります。覚えておいて損は無く、慣れれば意外と簡単に覚えれますので頑張って覚えてみてください。