53

ファイルに「タッチ」を使用してファイルのタイムスタンプを更新しましたが、親ディレクトリのタイムスタンプは変更されませんでした。ただし、(予想どおり)親ディレクトリ内に新しいファイルを作成すると、ディレクトリのタイムスタンプが変更されました。

UNIXライクなオペレーティングシステム(特にAIX)は、ディレクトリのタイムスタンプをいつ更新するかを決定するためにどのような基準を使用しますか?

4

4 に答える 4

38

ディレクトリを表すデータが変更されると、タイムスタンプが更新されます。ディレクトリDのサブディレクトリを変更しても、Dの表現は何も変更されません。これは、Dがサブディレクトリを指しているだけで、その中のサブディレクトリを指しているわけではないためです。一方、Dでファイルを作成すると、Dを表すディスク上のデータのブロックが変更されます。

于 2010-08-10T17:54:38.023 に答える
18

ディレクトリ自体が変更されると、ディレクトリのタイムスタンプが変更されます。ディレクトリには、特に、ディレクトリ内のファイルのiノードのリストが含まれているため、ファイルを追加または削除してディレクトリの内容を変更すると、ディレクトリのタイムスタンプが更新されます。

于 2010-08-10T17:52:18.877 に答える
1

statコマンドを使用して、ファイル/ディレクトリの変更時刻、作成時刻などを見つけることができます。https://linux.die.net/man/2/statを参照してください

記事には次のように記載されています。ディレクトリのst_mtimeは、そのディレクトリ内のファイルの作成または削除によって変更されます。st_mtimeフィールドは、所有者、グループ、ハードリンクカウント、またはモードの変更に対して変更されません。

于 2010-08-10T17:55:35.233 に答える
1

ディレクトリ内にファイル/ディレクトリの追加または削除がある場合、ディレクトリは変更されたと見なされます。既存のファイル/ディレクトリが更新されたばかりの場合、親ディレクトリのタイムスタンプは変更されません。

于 2020-09-05T03:32:28.343 に答える