これをこのウェブサイトで読みましたが、意味がありません。
http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/basic/node32.html
UNIXが最初に作成されたとき、
/bin
と/usr/bin
は物理的に2つの異なるディスクに存在していました:/bin
はより高速な(高価な)より小さなディスクにあり、/usr/bin
はより低速なより大きなディスクにありますディスク。現在、/bin
は/usr/bin
へのシンボリックリンクです。これらは基本的に同じディレクトリです。
ただし、ls
/bin
フォルダーを使用すると、(少なくとも実行中のシステムでは)/usr/bin
フォルダーよりも内容がはるかに少なくなります。
だから誰かが違いを説明できますか?
何?いいえ/bin/
は、FHS準拠システムの/usr/bin
へのシンボリックリンクではありません。これを無視する人気のあるUnicesとLinuxがまだあることに注意してください。たとえば、/bin
と/sbin
は、Arch Linuxで/usr/bin
にシンボリックリンクされています(理由は、/bin
は、レスキュー/シングルユーザーモード用です(ライブCDを起動するだけなので)。
システム管理者とユーザーの両方が使用できるコマンドが含まれていますが、他のファイルシステムがマウントされていない場合(シングルユーザーモードなど)に必要なコマンドが含まれています。スクリプトによって間接的に使用されるコマンドも含まれる場合があります
これは、システム上の実行可能コマンドの主要なディレクトリです。
基本的に、/bin
には、システムが緊急修理、起動、およびシングルユーザーモードで必要とする実行可能ファイルが含まれています。 /usr/bin
には、不要なバイナリが含まれています。
私は、それらが別々のディスク/パーティション上にある可能性があることに注意します。/bin
は/
と同じディスク上にある必要があります。 /usr/bin
は別のディスク上にあってもかまいませんが、この構成はしばらくの間壊れていることに注意してください(これが、たとえばsystemdがブート時にこの構成について警告する理由です)。
完全な正確さのために、一部のuniceはFHSを無視する場合があります。これはLinux標準にすぎないと私は思うので、私はそれがまだSUS、Posixまたはその他のUNIX標準に含まれていることを知りませんが、それはIMHOであるべきです。 [〜#〜] lsb [〜#〜] 標準の一部です。
更新:いくつかの履歴と/usr
がある本当の理由については、これを読んでください: http://lists.busybox.net/pipermail/busybox/2010-December/074114.html 。また this 。
/sbin
-起動、低レベルのシステム修復、またはメンテナンス(実行レベル1またはS)に必要なバイナリ
/bin
-任意の実行レベルで機能する通常/標準のシステムに必要なバイナリ。
/usr/bin
-ローカルにログインしているユーザーがアクセスするためのアプリケーション/配布バイナリ
/usr/sbin
-/ sbinにあるものをサポートまたは構成するアプリケーション/配布バイナリ。
/usr/share/bin
-Web経由でアクセスすることを意図したアプリケーション/配布バイナリまたはスクリプト、つまりApache Webアプリケーション
*local*
-バイナリはディストリビューションの一部ではありません。ローカルでコンパイルするか、手動でインストールします。通常、/local/bin
はありませんが、常に/usr/local/bin
と/usr/local/share/bin
があります。
この問題のある種の「更新」:
最近、一部のLinuxディストリビューションは/bin
を/usr/bin
にマージし、関連して/lib
を/usr/lib
にマージしています。 (/usr)/sbin
から/usr/bin
(Arch Linux)の場合もあります。そのため、/usr
は/
と同時に使用できると予想されます。
2つの階層の違いは、不必要に複雑になっていると考えられます。かつては、起動時に/bin
のみを使用できるようにするという考えでしたが、 initial ramdisk を使用すると、これは時代遅れになります。
Fedora Linux(2011)とArch Linux(2012)がこのように進んでいることを知っており、Solarisはこれを長い間(15年以上)行っています。
Linuxでは、/bin
と/usr/bin
は別々のパーティションに/usr
を配置するのが一般的であるため、まだ分離されています(ただし、この構成は微妙に壊れる場合があります)。 /bin
には、/
のみがマウントされている場合に必要なすべてのコマンドがあります。
SolarisおよびArch Linux(およびおそらく他のLinux)では、/bin
は/usr/bin
へのシンボリックリンクです。 Archには/sbin
と/usr/sbin
も/usr/bin
にシンボリックリンクされています。
特に、/bin
は「システム管理者」コマンド用であり、/usr/bin
はユーザーコマンド用であるというステートメントはnot true(bash
とls
は管理者専用であると考えている場合を除いて、この場合、多くのことを学ぶ必要があります)。管理者コマンドは/sbin
および/usr/sbin
にあります。
多くのUNIXベースのシステムがあります。 Linux、AIX、Solaris、BSDなど。元の引用には、すべてのフレーバーに適用される歴史的なコンテキストが含まれています。特定の1つのシステムを見ると、異なる結果が表示されます。元の引用の最後の文は、一部のバージョンとディストリビューションにのみ固有のものです。