Windows を使用している場合、Linux のファイル システム構造は特に異質なものに見えるかもしれません。 C:\ ドライブとドライブ文字はなくなり、/ と不可解な響きのディレクトリに置き換えられ、そのほとんどが 3 文字の名前を持ちます。
Filesystem Hierarchy Standard (FHS) は、Linux およびその他の UNIX 系オペレーティング システム上のファイル システムの構造を定義します。ただし、Linux ファイル システムには、標準でまだ定義されていないディレクトリもいくつか含まれています。
/ — ルート ディレクトリ
Linux システム上のすべては、ルート ディレクトリと呼ばれる / ディレクトリの下にあります。 / ディレクトリは Windows の C:\ ディレクトリに似ていると考えることができますが、Linux にはドライブ文字がないため、これは厳密には当てはまりません。 Windows では別のパーティションが D:\ に配置されますが、Linux では、この別のパーティションは / の下の別のフォルダに表示されます。
/bin — 必須のユーザー バイナリ
/bin ディレクトリには、システムがシングル ユーザー モードでマウントされている場合に存在する必要がある重要なユーザー バイナリ (プログラム) が含まれています。 Firefox などのアプリケーションは /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/bin フォルダー内のバイナリに必要なライブラリは、/usr/lib にあります。
/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 ユーザーのホーム ディレクトリです。 /home/root ではなく、/root に配置されます。これは、システムのルート ディレクトリである / とは異なります。
/run — アプリケーション状態ファイル
/run ディレクトリはかなり新しいもので、ソケットやプロセス ID などの必要な一時ファイルを保存するための標準的な場所をアプリケーションに提供します。 /tmp 内のファイルは削除される可能性があるため、これらのファイルは /tmp に保存できません。
/sbin — システム管理バイナリ
/sbin ディレクトリは /bin ディレクトリに似ています。これには、通常、システム管理のために root ユーザーによって実行されることを目的とした重要なバイナリが含まれています。
/selinux — SELinux 仮想ファイル システム
Linux ディストリビューションがセキュリティに SELinux を使用している場合 (Fedora や Red Hat など)、/selinux ディレクトリには SELinux で使用される特別なファイルが含まれています。 /proc に似ています。 Ubuntu は SELinux を使用しないため、Ubuntu にこのフォルダーが存在するのはバグのようです。
/srv — サービス データ
/srv ディレクトリには、「システムによって提供されるサービスのデータ」が含まれています。 Apache HTTP サーバーを使用して Web サイトを提供している場合は、Web サイトのファイルを /srv ディレクトリ内のディレクトリに保存することになるでしょう。
/tmp — 一時ファイル
アプリケーションは一時ファイルを /tmp ディレクトリに保存します。これらのファイルは通常、システムが再起動されるたびに削除され、tmpwatch などのユーティリティでいつでも削除される可能性があります。
/usr — ユーザー バイナリと読み取り専用データ
/usr ディレクトリには、システムが使用するアプリケーションとファイルではなく、ユーザーが使用するアプリケーションとファイルが含まれます。たとえば、必須ではないアプリケーションは /bin ディレクトリではなく /usr/bin ディレクトリ内に配置され、必須ではないシステム管理バイナリは /sbin ディレクトリではなく /usr/sbin ディレクトリに配置されます。それぞれのライブラリは /usr/lib ディレクトリ内にあります。 /usr ディレクトリには他のディレクトリも含まれています。たとえば、グラフィックスのようなアーキテクチャに依存しないファイルは /usr/share にあります。
/usr/local ディレクトリは、ローカルでコンパイルされたアプリケーションがデフォルトでインストールされる場所です。これにより、システムの残りの部分が台無しになるのを防ぎます。
/var — 変数データ ファイル
/var ディレクトリは、/usr ディレクトリに相当する書き込み可能ディレクトリであり、通常の操作では読み取り専用である必要があります。ログ ファイルと、通常の操作中に /usr に書き込まれるその他すべてのものは、/var ディレクトリに書き込まれます。たとえば、ログ ファイルは /var/log にあります。
Linux ファイル システム階層に関する詳細な技術情報については、 「Filesystem Hierarchy Standard」ドキュメント を参照してください。
関連: 開発者と愛好家のための最高の Linux ラップトップ





