Unixの初心者はしばしば混乱し、ディレクトリ構造が何を意味するのか理解できません。
たとえば、ルート・ディレクトリの下にサブディレクトリ /bin があり、これはバイナリ・プログラムを格納するために使用されます。しかし、/usrサブディレクトリの下には/usr/binと/usr/local/binがあり、これらもバイナリプログラムを格納するのに使われます。
長い間、なぜこのような設計になっているのか、私も困惑していました。ほとんどの人がそうであるように、私もUnixのファイルシステムアーキテクチャ標準に基づいて、ディレクトリの違いを暗記しました。
とはいえ、Ken ThompsonDennis Ritchie1969年に小型マシンPDP-7でUnixを発明しました。 1971年にはメインフレームをPDP-11にアップグレードしました。
[]
当時はRK05という、1枚あたり約1.5MBの容量の記憶ディスクを使っていました。
[]
オペレーティング・システムが大きくなりすぎて、1枚のディスクでは収まらなくなったのは、それから間もなくのことでした。つまり、ルートディレクトリ「/」が***ディスクにマウントされ、「/usr」ディレクトリが2番目のディスクにマウントされました。そうでなければ、2つのドライブのディレクトリ構造は同一であり、***ドライブのディレクトリは/usrディレクトリに一度再表示されます。
その後、2台目のディスクも満杯になったため、3台目のディスクRK05を追加し、/homeというディレクトリポイントをマウントし、/usrをユーザーのプログラムに、/homeをユーザーのデータに使用するようにしました。
このディレクトリ構造はそれ以来続いています。個々のディレクトリの意味は、ハードディスクの容量が大きくなるにつれて、さらに明確になっていきました。
/: システムプログラム、つまりAt&tが開発したUnixプログラムを格納します。
/usr:Unixシステムベンダーが開発したプログラムを格納。
/usr/local:ユーザー自身がインストールしたプログラムを保存します。
/opt:システムによっては、サードパーティーベンダーが開発したプログラムを格納するために使用されるため、「オプション」を意味するoptionと呼ばれます。
via: ///_____.ml




