パスワードを忘れた? アカウント作成
この議論は、gm300 (14617)によって ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。

S3で変なdirectory できた。」記事へのコメント

  • > 実際は、., .. という名前ではなく、「そのディレクトリ自体、上位のディレクトリを..と呼ぶ」

    UNIXにおける.や..は、OS側のファイルアクセス時の特殊処理ではなく、ディレクトリエントリ上に
    . : 自分自身へのハードリンク
    .. : 親ディレクトリへのハードリンク
    という実体を持ってますよ。

    それに基づいて . や .. へのアクセスが提供されるので、 「./AAA」も「foo/AAA」も、パス構造とファイルアクセスの流れは同じ。「カレントにある . をたどって、その下のAAA」「カレントにある foo をたどって、その下のAAA」になります。

    UNIX思想的に、「mkdirが、ディレクトリを作るときに、ついでに . と .. を作る」という特殊な処理で、「最初の1回だけの、ディレクトリを作る時に手間をかけて」「何度も処理される、アクセス時の処理を簡略化する」って方向性なんだと理解してます。

    最近のファイルシステムはどうなってるか知らない(気にしてないから調べようと思ったこともない)ですが、
    この. と..の仕様から「あるディレクトリのハードリンク数は、子ディレクトリ数+2になる」(自分自身と、自身の.と、子ディレクトリの..)ことを利用して、「ハードリンク数を調べれば子ディレクトリがあるかどうかわかる」という古典的なTIPSがあるので、
    今時のファイルシステムでも同じ仕様を踏襲してるんじゃないですかね。

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

処理中...