こんにちは。ゆーろんです。
今回はLinuxのディレクトリ構造に関して調べてまとめてみました。
Virtual Boxに入れたLinuxやWSL2上のUbuntu、AWSのEC2でのLinux利用(大げさな気もするけど)などで実際にコマンドを叩きながら構造などを確認すると理解が深まると思います。
Linuxのディレクトリ構成
基本的な説明
Linuxの標準的なディレクトリ構成はFHS(Filesystem Hierarchy Standard)で規定されます。FHS(ファイルシステム階層標準)はLinuxにおけるディレクトリ構成の標準を定めているものです。
このFHSの標準規格に沿ってLinuxの各ディストリビューションのディレクトリは構成されます。
FHS Referenced Specifications
rootディレクトリの基本構造
Linuxのディレクトリ全体構造は最上位から見て以下のようになります。
以下はRed Hat系(≒CentOS)のLinuxにおけるルートディレクトリから見たディレクトリの構成を表にしたものです。
ルート | ディレクトリ | 説明 |
---|---|---|
/(root) | /bin | OSの最小限の正常な駆動のためのすべてのユーザーが使用する基本コマンドなどが位置する |
/boot | システムの起動に必要なファイルが存在する。具体的にはLinuxカーネルやGRUBの設定ファイルなどが入っている。 | |
/dev | ハードウェア機器を表すファイル(デバイスファイル)が保存される | |
/etc | 各種設定ファイルが保存されるディレクトリ | |
/home | 一般ユーザのホームディレクトリ | |
/lib | 共有ライブラリとかカーネルモジュールが配置されるディレクトリ | |
/media | CD-ROMやフロッピーディスクなどの外付けメディア用のディレクトリ | |
/mnt | 一時的なファイルシステム用(マウントポイント)のディレクトリ | |
/opt | 追加のソフトウェアパッケージがインストールされるディレクトリ | |
/proc | プロセスを操作したり、システム情報を処理するための手段を提供している擬似ファイルシステムとなるディレクトリ | |
/root | root権限ユーザ用のホームディレクトリ | |
/sbin | root権限ユーザのみが実行できるコマンドなどが位置 | |
/srv | TTP、FTPなどのサービス用のデータが入っているディレクトリ | |
/sys | Linuxカーネルに関する情報があるディレクトリ、毎回再起動するたびに新しく作成される | |
/tmp | スクラッチディレクトリとして使われる一時データを格納するディレクトリ | |
/usr | 全てのユーザが使うデータを保持するディレクトリ | |
/var | ログやキャッシュなどの頻繁に書き換えられるデータが格納されるディレクトリ |
各ディレクトリの解説
/usr
全てのユーザが使うデータを保持するディレクトリです。構成は以下の通りです。
親ディレクトリ | 子ディレクトリ | 説明 |
---|---|---|
/usr | /bin | 一般ユーザの利用するコマンドを格納 |
/include | C言語のプログラムにincludeされるヘッダファイルを配置 | |
/lib | 共有ライブラリが配置されている | |
/local | ローカル用ファイルのディレクトリ | |
/sbin | システム管理者が利用する必須ではないコマンドを配置 | |
/share |
確認例
$ ls /usr/
bin etc include lib lib64 libexec local sbin share src tmp
/var
ログやキャッシュなどの頻繁に書き換えられるデータが格納されるディレクトリ。
親ディレクトリ | 子ディレクトリ | 説明 |
---|---|---|
/var | /cache | キャッシュファイルが配置 |
/log | ログファイルが配置 |
確認例
$ ls /var/log/
anaconda audit btmp chrony cron dmesg grubby_prune_debug lastlog maillog messages qemu-ga rhsm samba secure spooler tallylog tuned wtmp
/etc
/dev
/proc
/boot
参考資料
#Linuxディレクトリ構造とファイルの種類Linuxのディレクトリ構造もまともに把握できないまま開発をしていたのでこの機会に勉強してみました。 Linux入門者は、まずLinuxの構造について先… Windowsユーザーにとって、Linuxのディレクトリ構造は複雑怪奇で何をどうすればよいのか分からないという人も多いだろう。そこで、今回はLinuxの各ディレクトリの意味や役割、使い方を紹介する。 The root filesystem should generally be small, since it contains very critical files and a small, infrequently modified Linuxディレクトリ構造 - Qiita
各ディレクトリの役割を知ろう(ルートディレクトリ編)
Linux Tutorials: root file systems in linux - DevOpsSchool.com