Linuxのディレクトリ構造をまとめました。Linuxの構成は以下の画像のようになっています。(rootディレクトリ)があり、その配下に複数のディレクトリが格納されます。
アルファベット順にそれぞれのディレクトリの役割をまとめました。
RHEL9.4では以下の画像のようなフォルダ構成になっています。
/
Linuxの最上ディレクトリ。ルートディレクトリと呼ばれる。rootユーザーのホームディレクトリ、/rootとは別のディレクトリである。
bin
binはBinary Folderのことで、OSが正常に動作するために最低限必要な実行ファイルが入っているフォルダ。このディレクトリはすべてのユーザーが使用する。ルートユーザー、一般ユーザーともにアクセス可能。 また、binフォルダは基本的なコマンドが保存されたディレクトリで、ls、cat、mkdirなどのプログラムが含まれる。
/bin/cd、/bin/catなどのファイルはcdコマンド、catコマンドとして使われている。/binディレクトリ配下に配置したファイルはコマンドとして使用できる。
/binディレクトリ配下にないファイルをコマンドとして使用するにはexportコマンドで一時的にファイルパスを通すか、.bashrc、もしくは.bash_profileにexport=ファイルパスを記載してコマンドとして実行できるようにします。
boot
Linuxのシステム起動に必要なファイルが置かれている。
dev
devはdeviceのことで、Linuxに接続されているハードウェアに関するファイルが保存される場所。 キーボード、マウスなどのデバイスに関する情報をファイルまたはディレクトリの形で/devディレクトリの中へ格納している。
etc
Linuxのホスト固有のシステム構成(設定)ファイルが格納される場所。
ほぼすべての設定に関するデータはここに保存される。
fstab
OS起動時にマウントされる設定を記載したファイル。/etc/fstab。
hosts
名前解決についての情報を記載したファイル。/etc/hosts。
home
各ユーザーのホームディレクトリ。useraddコマンドで新しいユーザを生成すると、/homeディレクトリ配下に新しく追加したユーザーのホームディレクトリが自動的に生成される。rootユーザーに関しては、/home配下にはディレクトリが作られず、/root配下がホームディレクトリとなる。
例えば、userA、userBが作られている場合は以下のようなディレクトリが作られる。
/home/userA
/home/userB
rootユーザーについては、/home/rootディレクトリ配下ではなく以下のディレクトリにユーザー情報が格納される。
/root
lib
/bin/と/sbin/にあるバイナリに必要なライブラリが格納されたディレクトリ。カーネル モジュールが格納されている。
media
DVD、CD-ROM、USBなどがマウントされる際に使用されるマウントポイントとして利用されるディレクトリ。
mnt
マウントする際に使われるディレクトリ。
tmp
システム運用に関連する一時的なデータが保存されるディレクトリ。システムを使用する全てのユーザーが共同で使用する。
opt
追加で選択可能なアプリケーションパッケージがインストールされるディレクトリ。
proc
カーネル関連情報が保存されるディレクトリ。
root
rootユーザーのホームディレクトリ。/home配下の各ユーザーディレクトリに配置される以下のファイルのrootユーザー用のファイルが配置される。
- .bash_history
- .bash_logout
- .bash_profile
- .bashrc
sys
Linuxカーネルに関する情報が保存されているディレクトリ。 再起動するたびに更新される。
usr
全ての ユーザーが使えるアプリをインストールするディレクトリ。
var
varはVariableの略で、システムの稼働中に生成されるデータを一時的に保存しておくためのディレクトリ。 ログファイルやキャッシュ、システムがクラッシュしたときのダンプファイルや、印刷やメールのスプールやデータベースのメタデータなどが格納される。
/var/log/messages
システムのログが記録されます。
/var/spool/cron
cron設定を格納しているディレクトリです。ユーザーごとの設定ファイルが格納されます。
まとめ
Linuxのディレクトリ構成についてまとめました。ディストリビューションによっても若干差分がありますが、一般的にはLinuxはディレクトリ構成は類似しています。binディレクトリはどのディストリビューションであってもコマンドが格納されているディレクトリです。