web-dev-qa-db-ja.com

UnixおよびUnixのようなシステム上のディレクトリの意味

私はここ2年ほどLinuxを使用していますが、UNIXやUnixライクなシステムでのディレクトリ名の由来や意味がまだわかりません。例えば。 etcは何を表すのか、またはvarは何を表すのですか? optの名前はどこから来たのですか?

とにかくトピックについて話している間。誰かがどのディレクトリが何のために最適に使用されているかを誰かが明確に説明できますか?特定のソフトウェアがインストールされている場所や、ソフトウェアのインストール先として最も適切なディレクトリがどこか混乱することがあります。

113
Luke

Linuxファイルシステムのレイアウトの詳細については、 ファイルシステム階層標準 をご覧ください(現在バージョン2.3、 beta 3. バージョンは最新のディストリビューションにデプロイされています)。名前の由来の一部を説明しています。

  • / bin-Binaries。
  • / boot-bootに必要なファイルING。
  • / dev-Deviceファイル。
  • / etc-その他cetera。この名前は、初期のUnixから継承されたもので、config-filesを置く場所となったのです。
  • / home-ここでhomeディレクトリは保持しました。
  • / lib-場所コードlibraries保持されます。
  • / media-よりモダンなディレクトリですが、取り外し可能ですmediaがマウントされます。
  • / mnt-一時ファイルシステムの場所mounted。
  • / opt-場所optional addオンソフトウェアがインストールされています。これは、後で説明する理由により、/usr/local/とは異なります。
  • / run-Whererun時間変数データは保持されます。
  • / sbin-場所super- binariesが格納されます。これらは通常rootでのみ機能します。
  • / srv-"sの略erve "。このディレクトリは、配信される静的ファイルを対象としています。 /srv/httpは静的Webサイト用、/srv/ftpはFTPサーバー用です。
  • / tmp-場所temporaryファイルを保存できます。
  • / usr-古いUnixから継承された別のディレクトリで、「 [〜#〜] u [〜#〜]NIX[〜#〜] s [〜#〜]システム[〜#〜] r [〜#〜]esources "。 ではありません「ユーザー」を意味します( Debian Wiki を参照)。このディレクトリはホスト間で共有可能である必要があり、複数のホストに安全にNFSマウントできます。安全に読み取り専用でマウントできます。
  • / var-古いUnixから継承された別のディレクトリで、「 variable」です。これは、変化するシステムデータが格納される場所です。スプールやキャッシュのディレクトリなどはここにあります。プログラムがローカルファイルシステムに書き込む必要があり、そのデータを誰かに直接提供しない場合は、ここに移動します。

/ optと/ usr/local

私が見た経験則は次のように最もよく説明されています:

通常/usr/localに入るもの、またはすでに/usrにあるものを上書きするものには、/usrを使用します。すべてを1つのディレクトリにインストールするもの、または特別なものには、/optを使用します。

135
sysadmin1138

歴史的に、/etcは「etcetera」の略であり、/varは「変数」の略です。前者は、関係のないシステム構成ファイルの大規模なコレクションが/etcに入っているためだと思います。後者は、/varのファイルが変更されることが予想されるためです。多くの場合、/usr/は読み取り専用としてマウントできますが(更新の実行時を除く)、/varを読み取り専用としてマウントすることはできません。システムログファイル、ロックファイル、スプールファイル、および動的に変化するその他のものが保持されます。

他の人々はあなたにあなたがどこが最善かを理解するのを助けるための指針を与えました。

22
Eddie

古いスレッドを復活させて申し訳ありませんが、私はこの詳細がこの情報のすべての将来のシーカーのための重要な明確化であると私は思います:

  • / optはオプション(オプションのアドオンパッケージと同様)を表します。
  • / binはバイナリを表します(OSで使用される実行可能ファイルが含まれています)。
  • / libはライブラリを表します(ファイルシステムとブート用に使用される共有ライブラリが含まれ、おそらくビン内の実行可能ファイルによって使用されます)
  • / procはプロセスを表します。
  • / rootはrootユーザーを意味します。
  • / homeは、非ルートユーザーのホームサブディレクトリを保持します。
  • / devはデバイスを表します(特殊ファイルとデバイスファイルを保持します)。
  • / tmpは一時的なものを表します。
  • / srvはサーブを表します。
  • / mntはマウントポイントを表します(ここに一時ファイルシステムをマウントします)。
  • / includeには、#includeファイル、つまりヘッダーファイル(stdio.hなど)が含まれます。
  • / varは変数を表します
  • / etcはetceteraを表します

  • / usrはUnixシステムリソースを表します( Source

22
Mike

これを試して:

$ man hier
20
Anonymous

これを探すのに最適な場所は、ファイルシステム階層標準(FHS)です。最新バージョンは2.3で入手できます: http://www.pathname.com/fhs/pub/fhs-2.3.html

6
Joe

/usrは、実際にはUnixシステムリソースを意味します

ソース:: https://wiki.debian.org/FilesystemHierarchyStandard

2
prado

あなたがUNIXオペレーティングシステムのいくつかのフレーバーを観察する場合、ディレクトリ名にいくつかの違いがあることがわかりますが、一般的なもののほとんどは以下で説明されています...

/ binはバイナリを表します(バイナリファイルが含まれ、ユーザーが主に使用するコマンドも含まれます。これはコマンド実行のデフォルトパスでもあります)。

/ sbin(これには通常スーパーユーザーによって実行される特別なコマンドが含まれます)

/ libはライブラリを表します(ファイルシステムとブート用に使用される共有ライブラリが含まれます。おそらくbinの実行可能ファイルによって使用されます)/ procはプロセスを表します(このディレクタを確認するだけでよい場合は、ランダムな名前のディレクトリがいくつか含まれます。 ps-ef)でクロスチェックできるプロセス番号のみ

/ rootはルートユーザーを意味します。(ルートユーザーのデフォルトディレクトリ)/ home(すべての非ルートユーザーがこのディレクトリの下にホームディレクトリを持っています)/ devはデバイスを表します(lsを介してこのディレクトリを調べた場合、特別なファイルとデバイスファイルを保持します) -lコマンドのメジャー番号とマイナー番号もこのディレクトリに表示され、デバイスタイプもls -lの結果の各行の先頭に表示されます。Bはブロック型特殊デバイス、cは文字型特殊デバイスを意味します)。/tmpは一時的なものを意味します(一時的にここに保持されるプロセスに必要な一時的なリソース)/ mntはマウントポイントを意味します(ここに一時的なファイルシステムをマウントします)。/varは変数を表します(変数データを保持し、そこに含まれるディレクトリのサイズは毎回変化します)/ optはオプションを表します(通常、サードパーティのソフトウェアがこのディレクトリにインストールされます)。/usrはUnixシステムリソースを表します(システムに必要なすべてのリソースはここに配置されます)/ etcはetceteraを表します(これも重要です。ほとんどの構成ファイル、ユーザー管理ファイル、セキュリティファイルなどがこの下に保持されます)

1
Anwar khan