2017-10-29 9 views
1

多くの、ほとんどの、あるいはすべてのUnixファイルシステムでは、ディレクトリ内のリンクを繰り返し処理する場合、通常は/ 2つ以上、現在のディレクトリ( "//")と1つのバック親ディレクトリ( "../")をポイントします。多分、これらの2つのリンクのうち最初のものだけを持つルートを除いて。常に空のディレクトリに名前を付けることが保証されている、常に存在する既知のUNIXパス文字列がありますか?

しかし、他のファイルシステムではほとんどのUnixの慣習に矛盾していますが、これはあまりよくありません。

Unixファイルシステムのどこかにディレクトリがあり、常に空のディレクトリであることが保証されていて、リンク数は常にstat()などと同じで読み込めますか?

もしそうなら、リンク数をチェックして2になると思うかもしれません。あるいは、プログラムがその振る舞いを適切に調整できるようにする別の何かがあります。

+0

"おそらく、これらの2つのリンクのうちの最初のものだけを持つルートを除いて。"これは真実ではなく、ルートディレクトリにも '..'がありますが、それ自体を指しています。 – tkausl

答えて

1

常に空の標準ディレクトリはありませんが、必要に応じて作成することもできます。これを行う簡単な方法の1つはmkdtemp()機能を使用することです。

ただし、すべてのディレクトリが同じファイルシステムを使用する保証はありません。たとえば、FATファイルシステムがマウントされている場合、そのファイルシステムに対応するディレクトリは他のファイルシステムとは異なる動作をする可能性があります。

関連する問題