ファイルシステム階層標準の説明



問題を排除するために楽器を試してください

Filesystem Hierarchy Standard(FHS)は、Linuxのディレクトリ構造がどのように機能するかを定義しており、これは多くの初心者向けの記事ですでに書かれています。そうは言っても、それはまだ初心者を最も混乱させるものの1つであるため、それについての質問は常に聞かれます。 Linuxインストールのトップレベルを見ると、この特定の標準によって定義されている多くのディレクトリが表示されます。



時間をかけてもう一度やり直し、経験豊富なプログラマーでさえ混乱させるusrなどを定義しました。そうは言っても、ここで定義されていない追加のディレクトリまたはフォルダが表示される場合があります。ファイル構造のルートで/ lost + foundを見たことがありますか?これはFHSによって具体的に定義されていませんが、整合性チェック中に検出された失われたファイルを配置する場所があることを確認するために、ext4およびその他のファイルシステムによって作成されます。 Androidスマートフォンの構造を調べる機会があった場合は、LOST.DIRという名前も見たことがあるかもしれません。



FHSフォルダーのスペルアウト



/は、ディレクトリ構造全体の最高点を表します。LinuxはUnixがディレクトリ構造を指定するために使用するのと同じシステムを使用するため、これは単一のドライブだけでなく、すべての最上位です。おそらく、シングルユーザーのUbuntuまたはFedoraシステムを使用している場合は、ここにマウントするように設定された大きなディスクパーティションがあります。そのディスクパーティションには、この高レベルのディレクトリまたはフォルダがありますが、必要に応じて、別の/ home、/ bin、またはその他のパーティションを持つようにLinuxを構成して、マウントポイントを1に設定できることを覚えておくことが重要です。これらのディレクトリの。

/ binには、最も基本的なLinuxインターフェースを実行するために必要なほとんどの重要なプログラムが含まれています。ここには、猫、ls、mv、touch、nanoがあります。名前はバイナリを表します。

/ bootには、カーネルやinitrdファイルなど、システムの起動に必要なファイルが含まれています。



/ devは、Linuxがシステムの他の部分を参照するために使用するすべてのデバイスファイルを備えています。 mkfsコマンドの後に/ dev / sdb1のようなものを入力してフラッシュドライブをフォーマットしたことがある場合は、ここにあるファイルで作業しました。これらはすべて実際のファイルですが、従来の意味でのファイルではありません。 Microsoft環境から来た人はそれらを理解するかもしれません。これらを使用すると、ファイル名を参照してドライブやその他のデバイスを操作できます。

/ etcは、システム全体の構成ファイルの束を備えています。多くの人がetcが何を意味するのかを尋ねますが、それ以外はラテン語でなどを意味します。もともとは他のどこにも収まらないものをすべて保持していましたが、最新のLinux FHSは、プログラマーに構成ファイルのみをここに配置し、プログラムを投入しないように指示しています。

/ homeには、ホームディレクトリと、場合によっては他のユーザーのホームディレクトリが含まれます。ルート/ homeディレクトリの代わりに移動する必要がある独自のホームディレクトリの省略形として〜/を使用できます。たとえば、mannyという名前のユーザーの場合、〜/ Documentsと入力すると、/ home / user / manny / Documentsが表され、そのように翻訳されます。ルートユーザーは、Ubuntuを使用していて完全にハッシュ化されている場合でも、ホームディレクトリを/ home / rootではなく/ rootに隠しておきます。

/ libは、プログラムがLinuxカーネルで実行する必要のあるさまざまなライブラリを保持します。 amd64ベースのディストリビューションで実行している場合は、64ビットライブラリ用の/ lib64ディレクトリもあります。

/ mediaは、いつでも接続したすべての自動マウントドライブを保持します。メモリカード、フラッシュドライブ、またはビデオディスクをマシンに接続し、それらが自動的に開かれると、それらは/ mediaディレクトリにマウントされます。

/ mntは、Linuxで自動マウントが普及する前に、すべてのリムーバブルメディアを保持するために使用されていました。これで、コマンドプロンプトでsudoコマンドを使用してマウントするすべてのものに使用されます。 mount -o loop isoコマンドを使用する場合は、ディスクイメージまたはISOファイルのマウントに使用することをお勧めします。

/ optには、通常のリポジトリの外部からインストールした可能性のあるオプションのパッケージが含まれています。Googleダウンロードからそのブラウザをインストールしている場合は、GoogleChromeのようなものが含まれる可能性があります。インストール方法によっては、Skypeを使用することもできます。

/ procは、カーネルがマシンに接続されているすべての機器を認識する方法を表すファイルの場所を提供する仮想ファイルシステムのマウントポイントであるため、初心者にとっては紛らわしいものです。説明するよりも、直接体験する方が良いでしょう。実行してみてください cat / proc / cpuinfo |もっと コマンドプロンプトで、CPUがカーネルに対してどのように見えるかを確認します。 MHz単位のCPUの速度は、必ずしもプロセッサの実際の速度と一致しないことに注意してください。これは、800MHzで実行されていた古い1.6GHzシングルコアプロセッサを搭載した小さな32ビットネットブックで実行しました。この不一致は、/ procファイルを非常に便利にするようなものです。これが示しているのは、Lubuntuディストリビューションはリソースが非常に少ないため、基盤となるハードウェアの全能力を利用する必要があるまで、CPUが低速モードで実行されていることです。そのため、LXDEデスクトップ環境は、古いマシンを再構築する人々に非常に人気があります。

/ runは、現在実行中のLinuxインスタンスに関する情報を記述したファイルとディレクトリを保持します。再起動すると、これらのファイルは新しいインスタンスを表すように再構築されます。

/ sbinは、非常に重要な非常に重要なシステムプログラムを保持しています。 Linuxは、何か問題が発生したときに常にパーティションをチェックできるようにしたいので、fsckがここにあることがわかります。

/ srvは、サーバーとバージョン管理システムのサイト固有のデータを保持しており、インストール時に完全に空になっている場合があります。

/ sysは、ドライバーを記述し、FHSの他の部分が参照するデバイスを定義するファイルを保持します。

/ tmpは、プログラムの実行によって作成された一時ファイルでいっぱいになります。再起動するとクリアされることが多いため、ここにあるファイルは消耗品と見なされます。 C: Windows内のTempフォルダーを覚えている場合は、/ tmpがLinuxでも同様の目的を果たしていることを知っておいてください。

/ usrは、大量の読み取り専用ユーザーデータと構成ファイルを保持しながら、必須とは見なされないバイナリプログラムに適合する一種のキャッチオールディレクトリになりました。多くの初心者は、usrディレクトリが、常に使用するプログラムの構成ファイルを非常に多く保持しているように見えるため、少し奇妙だと感じています。

/ varは、常に変化するログやその他の変数ファイルの場所です。

読んだ4分