System Setting: Directory structure

OSディレクトリの構造

Information

Linux用語の「ディレクトリ」はWindows用語の「フォルダ」と同義です。

Linuxシステムのディレクトリ構造はWindowsのそれとは異なり、Unix系オペレーティングシステムのために定義されたFHS(Filesystem Hierarchy Standard)に準拠した構造になっています。これは基本的にいずれのLinuxディストリビューションでもほぼ同一と考えてOKです。

ここでは、Manjaro 26.0.3 KDEをインストールしたドライブのディレクトリ構造を例に挙げて解説します。

ホームディレクトリ(ホームフォルダ)

ホームディレクトリおよびその下に構成されるディレクトリ群は、ユーザーアカウントごとに自動的に作成されます。

Fig.1-1: ホームディレクトリ

このホームディレクトリは、後述するルートディレクトリの直下にある「home」ディレクトリの下に作られた、ユーザ名のフォルダが実体です。その時にログインしているユーザ用のホームディレクトリはDolphin、Nautilus、Thunar、Nemoといったいずれのファイルマネージャソフトウェアにおいても左ペインの一番上に表示され、ここで例に挙げるDolphinでは以下の子ディレクトリがあることが確認できます。

  • ダウンロード
  • デスクトップ
  • テンプレート
  • ドキュメント
  • ビデオ
  • 音楽
  • 画像
  • 公開

ホームディレクトリ以下はそのユーザだけにしかアクセス権がありません。

Information

ここには隠しディレクトリとして

.local/share/Trash/

が存在しています。これは削除されたファイルが入れられる「ごみ箱」の実体ですが、データベース的な構造になっているので手動操作はしないほうが安全です。

ルートディレクトリ(ルートフォルダ)

ルートディレクトリおよびその下に構成されるディレクトリ群は、OSのインストール時に自動的に作成されます。

Fig.2-1: ルートディレクトリ

ルートディレクトリ下にはシステム側の管理となるディレクトリが多く存在しており、誤って削除や変更を加えるとシステムの動作に悪影響を与えるリスクがあります。

binコマンドラインで用いられるコマンド(cat, lsなど)の実体プログラムが収められています。これはOS側が提供するものなので、基本的にはユーザーがここに自分からコマンドを手動で入れるべきではありません。
bootブートローダーGRUBや、EFIなどの起動関連ファイル群が格納されています。
devデバイス(SATA HDDなど)にアクセスするためのファイル群が格納されています。
etcシステム設定ファイルがここに格納されます。OS側のファイルシステム関連もあるが、サーバーアプリケーションソフトウェアの設定ファイルもあります。
home各ユーザ用のディレクトリが作られます。ファイルマネージャの一番上に表示されるホームディレクトリはここを参照しています。
libカーネルがここにあるほか、各アプリケーションのソフトウェアライブラリも格納されています。
lib64ソフトウェアライブラリの64bit版が格納されています。
mediaマウントポイントその1。この下には、DVDドライブ等の外部メディアドライブがマウントされます。
(外部メディアドライブを持たないPCにインストールした時にはこのディレクトリは作られません)
mntマウントポイントその2。この直下には、SSDやHDDといった内部ストレージがマウントされます。
optオプションソフトウェアの格納場所。libやlib64と何が違うのかというと、ここには標準リポジトリではないところからインストールしたソフトウェアが格納されます。
procその時動いているプロセスの一時ファイルが格納され、その実体はメモリ上にあります。データベースのような構造になっています。
root管理者(root)専用のホームディレクトリ。それ以外のユーザのホームディレクトリはhomeフォルダ下に作成されるので、ここは基本的に使いません。
runシステム周りのランタイムデータの格納場所で、基本的に触る必要はありません。
なお、USBメモリスティックやUSBカードリーダに挿したSDカードなど、動的な挿抜が可能なリムーバブルメディアはこの中でマウントされます。
sbinこれもbinと同じくコマンドラインのコマンド実体の格納場所です。binと何が違うかというと、こちらには管理者(System administrator)用のコマンドが格納されています。
srv外部に提供するサービスのためのデータが格納されています。例えばHTTPやSFTPなど。HTTPはvar/wwwの下に置かれることも多いのですが、本来はここが推奨されています。
sysデバイスやカーネル情報、電源管理、ファイルシステムなどに関連するファイルが格納されています。
tmp再起動をまたぐことができない一時ファイル置き場です。起動時に自動的に削除されます。
usrこの直下にはroot直下のそれと似通った子ディレクトリ群がそれなりの数存在していて、少々ややこしくなっています。ここはユーザー空間の読み取り専用に用いられるもので、基本的にはパッケージマネージャーによって自動的に更新されるため、触る必要はありません。また、ここのlocalの下にもさらに同じような子ディレクトリ構造があって混乱を招きやすいですが、ここは管理者がパッケージ管理外で導入するソフトのために用いられています。
varこの直下にもroot直下のそれと似通った子ディレクトリ群があり、ここにはログやキャッシュファイルなどの動的に増減するデータが格納されます。放置しておくとしばしばサイズが増大していく傾向にあるので注意。なお、ここにあるtmpディレクトリは再起動をまたいでも存在し続けることができる、寿命が長い一時ファイル置き場です。

マウントされたドライブの場所

OSがインストールされたSSD、HDD/
上記以外のSSD、HDD/root/mnt
DVDドライブ/root/media
USBメモリスティック、SDカード、CFexpress/root/run/media/****(ユーザ名)/

Manjaro KDEにおいてコンピュータに接続・マウントされたSSDやHDD等は、Dolphinファイルマネージャの左ペインに「デバイス」という分類で、そしてUSBメモリスティック等は「リムーバブルデバイス」という分類で表示されます。

Fig.3-1: Manjaro KDE標準のファイルマネージャ(Dolphin)での各デバイスの表示例

ファイルシステム依存で生成されるディレクトリ

システムによってはドライブ直下に「lost+found」というディレクトリが生成されている場合があります。これはext4など、ext系ファイルシステムでフォーマットされたドライブの場合に自動生成されるもので、通常は中身を見ることはできません。これはドライブチェック(fsck)で復旧された断片ファイルの保管場所として使われています。

Fig.4-1: lost+foundフォルダ

ファイルマネージャによるインタフェースの差異

Manjaro KDEのDolphinでは前述の通り、左ペインに物理的なSSDやHDDが一覧表示される「デバイス」というグループがあり、OSがインストールされたドライブ自体もその一番上に「/_」付きのアイコンで表示されるため、root直下を容易に参照できます。

一方、Manjaro XfceのThunarや、Linux Mint Cinnamon等で採用されているNemoの場合は左ペインに「ファイルシステム」というショートカットがあり、そこからroot直下を参照できます。

Fig.5-1: Manjaro XfceのThunarファイルマネージャ、左ペインの「ファイルシステム」

Fig.5-2: Linux Mint CinnamonのNemoファイルマネージャ、左ペインの「ファイルシステム」

なお、Manjaro GNOMEのNautilusにはそれらに該当するショートカットがなく、ぱっと見ではホームディレクトリにしかアクセスできないように見えますが、画面上部にあるディレクトリパス入力ボックスに「/」と入力することでroot直下へと移動できます。

Fig.5-3: Manjaro GNOMEのNautilusファイルマネージャ、ディレクトリパス「/」入力時

前の記事
System Setting: Kernel version

カーネル Manjaro KDE: カーネルのバージョン確認 Manjaro KDEでは、その時点で背後で動作しているLinuxカーネルのバージョンを容易に確認でき、時にはまだLTS(Long-Term Support) […]

Read more
次の記事
Application: pCloud - Installation (1)

インストール オンラインストレージサービス、pCloudのインストール手順について解説します。 AppImageのダウンロード pCloudクライアントアプリケーションはManjaroのリポジトリ上には存在しておらず、ま […]

Read more