Linuxディレクトリ構造の説明

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ディレクトリには、コンピュータに挿入されたリムーバブルメディアデバイスがマウントされるサブディレクトリが含まれています。たとえば、LinuxシステムにCDを挿入すると、/ 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ファイルシステム階層の詳細な技術情報については、ファイルシステム階層標準のドキュメントを参照してください。