

Unixおよびそれに影響を受けたオペレーティングシステムでは、ファイルシステムはオペレーティングシステムの中心的なコンポーネントと考えられています。[ 1 ]また、 1969 年にリリースされたUnix の最初の実験版でKen Thompsonによって設計および実装されたシステムの最初の部分の一つでもありました。 [ 2 ]
他のオペレーティングシステムと同様に、ファイルシステムは情報の保存と検索、そしてプロセス間通信のいくつかの形態の1つを提供します。つまり、従来Unixシステムを構成する多数の小さなプログラムは、他のプログラムが読み取れるように情報をファイルに保存できます。ただし、第3版以降はパイプがこの役割を補完するようになりました。また、ファイルシステムは、端末、プリンタ、マウスへのエントリポイントとなるいわゆるデバイスファイルを介して、他のリソースへのアクセスも提供します。
この記事の残りの部分では、Unix を、オリジナルの Unix オペレーティングシステムと、それに類似した多くのシステムの両方を指す総称として使用します。
ファイルシステムは、ディレクトリのルートツリーとして表示されます。[ 1 ]ディスクパーティション、リムーバブルメディア、ネットワーク共有などの個別のボリュームを個別のツリーとして扱う代わりに、これらのボリュームをディレクトリにマウントすると、ボリュームのファイルシステムツリーがより大きなツリー内のそのディレクトリとして表示されます。[ 1 ]ツリー全体のルートは で表されます/。
オリジナルのベル研究所のUnixでは、2つのディスク構成が一般的で、1つ目のディスクには起動プログラムが、2つ目のディスクにはユーザーのファイルとプログラムが格納されていました。この2つ目のディスクはusr、1つ目のディスク上の空のディレクトリにマウントされ、2つのディスクが1つのファイルシステムとして認識され、2つ目のディスクの内容はで表示されました/usr。
Unix ファイルシステムのディレクトリにはファイルは含まれていません。代わりに、いわゆるinodeへの参照とペアになったファイル名が含まれています。inode にはファイルとそのメタデータ(所有者、パーミッション、最終アクセス時刻など、ただしファイル名は含まれません) が含まれています。ファイルシステム内の複数の名前が同じファイルを参照する場合があり、この機能はハードリンクと呼ばれます。[ 1 ]ハードリンクの数学的特性により、ファイルシステムは限定的なタイプの有向非巡回グラフになりますが、ディレクトリは通常ハードリンクされないため、依然としてツリーを形成します。1969年に最初に構想された Unix ファイルシステムは、実際にはパス名の代わりにディレクトリへのハードリンクがナビゲーションを提供する一般的なグラフとして使用される予定でした。[ 2 ]
オリジナルのUnixファイルシステムは、通常のファイル、ディレクトリ、およびデバイスファイルとも呼ばれる「特殊ファイル」の3種類のファイルをサポートしていました。[ 1 ] Berkeley Software Distribution(BSD)とSystem Vはそれぞれ、プロセス間通信に使用するファイルタイプを追加しました。BSDはソケットを追加し、[ 3 ] System VはFIFOファイルを追加しました。
BSD では、他のファイルを参照するファイルであり、ハードリンクを補完するシンボリックリンク(しばしば「シンリンク」と呼ばれる) もファイルの種類に追加されました。[ 3 ]シンリンクはMulticsの同様の機能を参考に作られており、[ 4 ]ハードリンクとは異なり、ファイルシステムをまたぐことができ、その存在は対象オブジェクトに依存しません。他の Unix システムでは、追加のファイルの種類がサポートされている場合があります。[ 5 ]
プログラム、システム構成ファイル、ユーザーのホーム ディレクトリなど、一部の種類のファイルを見つけるための一定の慣例が存在します。これらは、Unix バージョン 7以降、 hier(7)man ページに初めて記載されました。[ 6 ]後続のバージョン、派生版、クローンには通常、同様の man ページがあります。[ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ]
ディレクトリのレイアウトの詳細は、時代とともに変化してきました。ファイルシステムのレイアウトは、 Single UNIX Specificationの一部ではありませんが、 System V Application Binary Interface、Intel Binary Compatibility Standard、Common Operating System Environment、FreeDesktopのFilesystem Hierarchy Standard (FHS)など、その (一部) を標準化しようとする試みがいくつかあります。[ 13 ]
以下は、Unix系オペレーティングシステムにおけるファイルの一般的な保存場所の概要です。