Linux のディレクトリ構造は独特の設計になっており、最初は複雑に見えるかもしれません。 Linux の各ディレクトリには、データを整理し、システムやアプリケーションに必要なファイルに簡単にアクセスできるようにする特定の役割があります。 Linux のディレクトリ構造を理解すると、システム内をより効率的に移動し、重要な設定やファイルがどこに保存されているかを知ることができます。ここでは、「/bin」から「/usr」までの各基本ディレクトリと、システムの操作を容易にし、安定性を確保する上でのその役割を確認します。

Windows を使用している場合、Linux のファイル システム構造は特に奇妙に見えるかもしれません。 C:\ ドライブとドライブ文字はなくなり、/ と曖昧な響きのディレクトリに置き換えられました。そのほとんどは 3 文字の名前です。
ファイル システム階層 (FHS) 標準は、Linux およびその他の UNIX 系オペレーティング システム上のファイル システムの構造を定義します。ただし、Linux ファイル システムには、標準でまだ定義されていないディレクトリもいくつか含まれています。
/ – ルートディレクトリ
Linux システム上のすべては、ルート ディレクトリと呼ばれる / ディレクトリの下にあります。 / ディレクトリは Windows の C:\ ディレクトリに似ていると考えることができますが、Linux にはドライブ文字がないため、完全に真実ではありません。 Windows では D:\ に別のパーティションがありますが、Linux では、この別のパーティションは / の下の別のフォルダに表示されます。

/bin – ユーザーの基本バイナリ ファイル
/bin ディレクトリには、システムをシングル ユーザー モードでインストールするときに存在する必要がある基本的なユーザー バイナリ ファイル (プログラム) が含まれています。 Firefox などのアプリケーションは、Snap としてインストールされていない場合は /usr/bin に保存されますが、bash シェルなどの重要なシステム プログラムやユーティリティは /bin に保存されます。 /usr ディレクトリは別のパーティションに保存できます。これらのファイルを /bin ディレクトリに配置すると、他のファイル システムがインストールされていない場合でも、システムにこれらの重要なユーティリティが確実に含まれるようになります。 /sbin ディレクトリも同様で、システム管理に不可欠なバイナリ ファイルが含まれています。

/boot – 静的ブート ファイル
/boot ディレクトリには、システムの起動に必要なファイルが含まれています。たとえば、GRUB ブート ローダー ファイルと Linux カーネルはここに保存されます。ただし、ここにはブート ローダー構成ファイルはありません。これらは、他の構成ファイルとともに /etc にあります。
/cdrom – CD-ROM の履歴マウント ポイント
/cdrom ディレクトリは FHS 標準の一部ではありませんが、Ubuntu やその他のオペレーティング システムでは引き続き見つかります。これは、システムに挿入された CD-ROM の一時的な場所です。ただし、一時メディアの標準の場所は /media ディレクトリ内です。
/dev – デバイスファイル
Linux はデバイスをファイルとして公開し、/dev ディレクトリにはデバイスを表す多数の特殊ファイルが含まれています。これらは私たちが知っているような実際のファイルではありませんが、ファイルとして表示されます。たとえば、/dev/sda はシステム内の最初の SATA ドライブを表します。パーティションを分割したい場合は、パーティションエディタを実行して、/dev/sda を編集するように指示できます。

このディレクトリには、実際にはハードウェアと互換性のない仮想デバイスである仮想デバイスも含まれています。たとえば、/dev/random は乱数を生成します。 /dev/null は、出力を生成せず、すべての入力を自動的に無視する特別なデバイスです。コマンドの出力を /dev/null に指定しても、それは無視されます。
/etc – 設定ファイル
/etc ディレクトリには構成ファイルが含まれており、テキスト エディタで手動で編集できます。 /etc/ ディレクトリにはシステム全体の構成ファイルが含まれていることに注意してください。ユーザー固有の構成ファイルは、各ユーザーのホーム ディレクトリにあります。
/home – ホームフォルダー
/home ディレクトリには、各ユーザーのホーム フォルダーが含まれます。たとえば、ユーザー名が bob の場合、ホーム フォルダーは /home/bob にあります。このメイン フォルダーには、ユーザー データ ファイルとユーザー構成ファイルが含まれています。各ユーザーは自分のホーム フォルダーにのみアクセスでき、システム上の他のファイルを変更するには、昇格されたアクセス許可 (root ユーザーになる) を取得する必要があります。

/lib – コア共有ライブラリ
/lib ディレクトリには、/bin および /sbin フォルダ内の基本バイナリ ファイルに必要なライブラリが含まれています。バイナリ ファイルに必要なライブラリは、/usr/lib の /usr/bin フォルダにあります。 64 ビット システムでは、対応するフォルダー /lib64 も表示されます。
/lost+found – 回復されたファイル
すべての Linux ファイル システムには、lost+found ディレクトリがあります。ファイル システムがクラッシュした場合、次回の起動時にファイル システム スキャンが実行されます。見つかった破損したファイルは、lost+found ディレクトリに配置されるため、できるだけ多くのデータの回復を試みることができます。
/media – リムーバブルメディア
/media ディレクトリには、コンピュータに挿入されたリムーバブル メディア デバイスがインストールされるサブディレクトリが含まれています。たとえば、CD を Linux システムに挿入すると、/media ディレクトリ内にディレクトリが自動的に作成されます。このディレクトリ内の CD の内容にアクセスできます。
/mnt – 一時的なマウント ポイント
従来、/mnt ディレクトリは、システム管理者が使用中に一時ファイル システムをインストールする場所でした。たとえば、ファイルの回復を行うために Windows パーティションをマウントしている場合、それを /mnt/windows にマウントできます。ただし、他のファイル システムはシステム上のどこにでもマウントできます。
/opt – オプションのパッケージ
/opt ディレクトリには、オプションのソフトウェア パッケージのサブディレクトリが含まれています。これは通常、標準のファイル システム階層に従わない独自のソフトウェアによって使用されます。たとえば、プロプライエタリなソフトウェアは、インストール時にそのファイルを /opt/application にダンプする場合があります。
/proc – カーネル ファイルとプロセス
/proc ディレクトリは、標準ファイルが含まれていないため、/dev ディレクトリに似ています。これには、システム情報とプロセスを表す特別なファイルが含まれています。

/root – root ユーザーのホーム ディレクトリ
/root ディレクトリは、root ユーザーのホーム ディレクトリです。 /home/root ではなく、/root に配置されます。システムのルートディレクトリである / ディレクトリとは異なります。
/run – アプリケーション状態ファイル
/run ディレクトリは、ソケットやプロセス ID など、必要な一時ファイルを保存するための標準的な場所をアプリケーションに提供します。 /tmp 内のファイルが削除される可能性があるため、これらのファイルを /tmp に保存することはできません。
/sbin – システム管理バイナリ ファイル
/sbin ディレクトリは /bin ディレクトリに似ています。これには、通常、システム管理のために root ユーザーが実行することを目的としたコア バイナリ ファイルが含まれています。

/snap – Snap パッケージを保存します
FHS の一部ではありませんが、最近よく使用されているもう 1 つのディレクトリは /snap です。これには、インストールされた Snap パッケージと、Snap に関連するその他のファイルが含まれています。 Ubuntu はデフォルトでスナップを使用するようになりましたが、スナップを使用しない別のディストリビューションを使用している場合は、このガイドは表示されません。
/srv – サービスデータ
/srv ディレクトリには、「システムが提供するサービスのデータ」が含まれています。 Apache HTTP サーバーを使用して Web サイトを提供する場合は、Web サイトのファイルを /srv ディレクトリ内のディレクトリに保存することになるでしょう。
/tmp – 一時ファイル
アプリケーションは一時ファイルを /tmp ディレクトリに保存します。これらのファイルは通常、システムを再起動すると削除されますが、systemd-tmpfiles などのユーティリティでいつでも削除できます。
/usr – ユーザーバイナリファイルと読み取り専用データ
/usr ディレクトリには、システムが使用するアプリケーションやファイルではなく、ユーザーが使用するアプリケーションやファイルが含まれています。たとえば、必須ではないアプリケーションは /bin ディレクトリではなく /usr/bin ディレクトリにあり、必須ではないシステム管理ファイルは /sbin ディレクトリではなく /usr/sbin ディレクトリにあります。それぞれのライブラリは /usr/lib ディレクトリ内にあります。 /usr ディレクトリには他のディレクトリも含まれています。たとえば、グラフィックスなどの構造に依存しないファイルは、/usr/share ディレクトリにあります。

/usr/local ディレクトリは、ローカライズされたアプリケーションがデフォルトでインストールされる場所です。これにより、システムの残りの部分が破損するのを防ぎます。
/var – 変数データ ファイル
/var ディレクトリは、/usr ディレクトリに相当する書き込み可能ディレクトリであり、通常の操作では読み取り専用である必要があります。ログ ファイルと、通常の操作中に /usr に書き込まれるその他すべてのものは、/var ディレクトリに書き込まれます。たとえば、ログ ファイルは /var/log にあります。
Linux のファイル システム階層に関する技術情報の詳細については、「File System Hierarchy Standard」ドキュメントを参照してください。
Linux のディレクトリ構造は単なるフォルダーの集合ではありません。むしろ、パフォーマンスと安定性を確保する方法でシステムの部品とアプリケーションを接続する統合システムです。このアーキテクチャを理解すると、ユーザーがシステムを効果的に管理する能力が向上し、Linux の可能性をさらに探求する道が開かれます。各ガイドの重要性を学ぶことで、初心者ユーザーから、システムを扱う能力に自信を持ったプロフェッショナルになることができます。




