web-dev-qa-db-ja.com

「変更」タイムスタンプをトリガーせずにファイルに対して何ができますか?

「変更」統計をトリガーせずにファイルに何ができますか?たとえば、ビットを変更するだけで変更がトリガーされるようです。

6
Igorio

ファイルを読むことができます。これにより、アクセス時間が更新されますが(noatimeなどのマウントオプションで無効にされている場合を除く)、iノードの変更時間は更新されません。

ファイルのデータを変更する場合でも、メタデータを変更する場合でも、名前を変更する場合でも、変更時刻は更新されます。これは仕様によるものです。

おそらく「変更統計」とは、ファイルのctimeを意味しますか?その場合、簡単な答えは、それほど多くはありません...

ctimeは、ファイルのiノード(基本的にはメタデータ)が最後に変更された日時を記録するため、たとえばファイルのアクセス許可を変更すると、ctimeが変更されます。

その上、ファイルの内容を変更すると、ファイルのサイズが変更されたり、mtimeが更新されたりします。どちらも、iノードに記録されてctimeが変更されます。

ctimeを変更させないiノードへの唯一の変更は、ファイルを読み取るときのatimeの更新です。

5
TomH