内部で新しいファイルが作成されると、ディレクトリmtimeは常に変更されますか?


12

ディレクトリに新しいファイルが作成されたとき-ディレクトリのmtimeが変わるのは常に本当ですか?


これは非常に簡単にテストできます...
ewwhite 2012年

6
簡単です。ただし、すべてのOSとファイルシステムに同時にはありません:)
kolypto

回答:


12

簡単な答えは「はい」です。より長い答えが続きます。

ディレクトリは特別な種類のファイルです。その内容は、(ファイル名、iノード)タプルのセットです。したがって、タプルが追加、削除、または変更されるたびに、ディレクトリのmtimeが更新されます。つまり、任意のタイプのファイル(ハードリンクとディレクトリを含む)がディレクトリに追加、削除、または名前が変更されます(ネストされたディレクトリではありません-異なる)ファイル」)。

ファイルのメタデータが変更された場合(所有者、グループ、モード、atime、ctime、mtime- i-nodeでホストされる)、mtimeは更新されません(ファイル上でもdirも含まれません)が、ファイルのctimeは更新されます。

IEEE Std 1003.1-2001のBase Definitionsボリューム、セクション4.7、File Times Updateも参照してください。


1
これは、問題の親ディレクトリ内に直接作成(など)されたファイルにのみ当てはまり、親ディレクトリの下のディレクトリに(など)作成されたファイルには当てはまらないことに注意してください。おそらくこれは他の人には明白ですが、私にはわかりませんでした(答えを見つけるためにテストする必要がありました)。
ロジデリック

1
@logidelicありがとう、わかりやすくするために回答を更新しました。
yrk 2018年

ディレクトリに新しいファイルを作成すると、ディレクトリのctimeも変更されるのはなぜですか?
Roland氏
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.