'ln'および 'rm'コマンドは、1970年代初頭からすべてのUNIXファイルシステムでこのように機能していました。Mac OSX、BSD、およびLinuxはすべて、この元の設計を継承しています。
UNIXファイル自体には名前はなく、iノード番号またはinum のみがあります。ただし、問題のイナムに名前を関連付ける特別な「ディレクトリ」ファイルのエントリを介してのみアクセスできます。inumを直接指定することはできません。
ディレクトリ自体はファイルなので、「パス名」と呼ばれるスラッシュ(/)で区切られた一連のディレクトリ名を使用して、(別の)ディレクトリなどからもアクセスする必要があります。パスがプロセスの「現在の作業ディレクトリ」で始まりますが、名前が「/」で始まっていない場合は、ファイルシステムのルートディレクトリで始まります。たとえば、パス名に「/」文字が含まれていない場合、現在のディレクトリのエントリであると想定されます。
非ディレクトリファイルには、「ハードリンク」として知られているパス名、任意の数を持つことができ、それがされるまで存在し続けるだろう、すべてのパス名のが削除されていると、最後のプロセスがファイルを閉じました。その後、ファイルは実際に削除され、そのスペースは再利用可能としてマークされます。つまり、単一リンクファイルを作成(または開く)してからunlink()すると、ファイルシステムの名前空間に表示されなくなりますが、ファイルは閉じるまで存在し続けます。これは、他のプログラムによって読み取られない一時的なスクラッチファイルに役立ちます。
ディレクトリにはinode番号がありますが、ほとんどのファイルシステムはディレクトリへのハードリンクを許可していません。他の1つのディレクトリにのみ表示できます。(1つの珍しい例外はMac OSX HFS +ファイルシステムです。これにより、Time Machineバックアップが機能します。)ディレクトリ(またはその他のファイル)への「ソフトリンク」を作成できます。ソフトリンクは、inumではなく別のパス名を含むことを除いて、ディレクトリエントリに似ています。
すべてのUNIXファイルには、所有者、グループ、およびアクセス許可があります。ファイルを開くことは必要ですが、十分ではありません。また、それを参照するために使用するパス名のすべてのディレクトリに対して、少なくとも実行権限が必要です。そのため、UNIXファイルをそのiノード番号で開く標準的な方法はありません。これは、広く使用されている重要なセキュリティメカニズムをバイパスします。
ただし、ルート(特権)ユーザーがiノード番号でファイルを開く標準的な方法がない理由は説明されていません。とにかくアクセス許可のチェックがバイパスされるためです。これは、バックアップなどの特定のシステム管理機能に非常に役立ちます。私の知る限り、そのようなメカニズムは存在しますが、それらはすべてファイルシステム固有のものです。UNIXファイルシステムに対して一般的な方法はありません。