このサイトでこの記事を読みましたが、理解できません。
http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/basic/node32.html
UNIXが最初に作成されたとき、UNIXは
/bin
物理的に/usr/bin
2つの異なるディスク、/bin
つまりより小さく、より速い(より高価な)ディスクとより大きくて/usr/bin
遅いディスクにありました。今、/bin
シンボリックリンク/usr/bin
は本質的に同じディレクトリです。
ただし、ls
その/bin
フォルダにアクセスすると、そのフォルダに含まれるコンテンツはそれよりはるかに少なくなります/usr/bin
(少なくとも私が実行しているシステムでは)。
誰かが違いを説明できますか?
答え1
何? noはFHS準拠システムのシンボリックリンク/bin/
ではありません。/usr/bin
これを無視する人気のあるUnicesとLinuxがまだあることに注意してください。たとえば、Arch Linuxへのシンボリックリンク/bin
(ライブCDを起動するときにリカバリ/シングルユーザーモードが必要ないため)。/sbin
/usr/bin
/bin
システム管理者とユーザーの両方が使用できますが、他のファイルシステムがマウントされていない場合(たとえば、シングルユーザーモードなど)に必要なコマンドが含まれています。スクリプトで間接的に使用されるコマンドを含めることもできます。
これは、システムで実行可能なコマンドのホームディレクトリです。
デフォルトでは、/bin
システム緊急回復、起動、およびシングルユーザーモードに必要な実行可能ファイルが含まれています。/usr/bin
不要なバイナリが含まれています。
別のディスク/パーティションに存在する可能性/bin
があります/
。/usr/bin
)。
完全に正確にするために、一部の unice は FHS が Linux 標準であると信じているため、FHS を無視できます。 IMHOでなければなりませんが、SUS、Posix、またはその他のUNIX規格に含まれているかどうかは不明です。それ最下位ビット標準ですが。
答え2
更新:いくつかの歴史と実際の理由については、/usr
次の記事を読んでください。http://lists.busybox.net/pipermail/busybox/2010-December/074114.html。返品これ。
/sbin
- 起動、低レベルのシステム回復またはメンテナンスに必要なバイナリ(ランレベル1またはS)
/bin
- すべての実行レベルで一般/標準システムを操作するために必要なバイナリ。
/usr/bin
- アプリケーション/配布バイナリは、ローカルでログインしたユーザーがアクセスできるようになっています。
/usr/sbin
- /sbinのコンテンツをサポートまたは構成するアプリケーション/配布バイナリ。
/usr/share/bin
- ネットワーク経由でアクセスできるアプリケーション/配布バイナリまたはスクリプト(例:Apache Webアプリケーション)
*local*
- バイナリはディストリビューションの一部ではなく、ローカルにコンパイルまたは手動でインストールされます。通常、aはありませんが、常にand/local/bin
があります。/usr/local/bin
/usr/local/share/bin
答え3
この質問に対する一種の「更新」:
最近、いくつかのLinuxディストリビューションがマージされました。/bin
そして時には(Arch Linux)とも/usr/bin
関連しています。したがって、同時に発売されると予想される。/lib
/usr/lib
(/usr)/sbin
/usr/bin
/usr
/
今、これら2つの層間の区別は不必要な複雑さと見なされます。/bin
以前は起動時にのみ使えると思いましたが、初期仮想ディスクこれを役に立たないようにしてください。
私はFedora Linux(2011)とArch Linux(2012)がこの道を進んでいることを知っており、Solarisは長い間(15年以上)この道を行っています。
答え4
UNIXベースのシステムがたくさんあります。 Linux、AIX、Solaris、BSDなどの元の引用は、すべてのスタイルに適用される歴史的文脈を提供します。特定のシステムを見ると、他の結果が表示されます。元の引用の最後の文は、特定のバージョンとディストリビューションにのみ適用されます。