ファイルの内容が変更されるとctimeが変更される理由

ファイルの内容が変更されるとctimeが変更される理由

私が理解したのは、ファイルのメタデータやファイルの内容が変更されるとctimeが変更され、ファイルの内容が変更されるとmtimeが変更されます。

ファイルの内容が変更されると、ctimeが更新される理由を知りたいです。すでにmtimeトレース機能がありませんか?

私のMACで

usxxkothan3m1:temp kothan3$ touch foo.txt
usxxkothan3m1:temp kothan3$ stat -x foo.txt
  File: "foo.txt"
  Size: 0            FileType: Regular File
  Mode: (0644/-rw-r--r--)         Uid: (276196474/ kothan3)  Gid: (720748206/CORP\Domain Users)
Device: 1,4   Inode: 11745569    Links: 1
Access: Mon Aug 24 11:59:07 2015
Modify: Mon Aug 24 11:59:07 2015
Change: Mon Aug 24 11:59:07 2015
usxxkothan3m1:temp kothan3$ echo "write something here" >> foo.txt
usxxkothan3m1:temp kothan3$ stat -x foo.txt
  File: "foo.txt"
  Size: 21           FileType: Regular File
  Mode: (0644/-rw-r--r--)         Uid: (276196474/ kothan3)  Gid: (720748206/CORP\Domain Users)
Device: 1,4   Inode: 11745569    Links: 1
Access: Mon Aug 24 11:59:24 2015
**Modify: Mon Aug 24 11:59:21 2015**
**Change: Mon Aug 24 11:59:21 2015**
usxxkothan3m1:temp kothan3$ chmod u-w foo.txt
usxxkothan3m1:temp kothan3$ stat -x foo.txt
  File: "foo.txt"
  Size: 21           FileType: Regular File
  Mode: (0444/-r--r--r--)         Uid: (276196474/ kothan3)  Gid: (720748206/CORP\Domain Users)
Device: 1,4   Inode: 11745569    Links: 1
Access: Mon Aug 24 11:59:24 2015
Modify: Mon Aug 24 11:59:21 2015
**Change: Mon Aug 24 11:59:37 2015**

ベストアンサー1

ctime、または状態変更時間は、ファイルメタデータが変更された時間を示します。たとえば、$ ls -ltcLinux では、ファイルの状態情報が最後の変更時刻に従ってソートされて表示されます。

もっと詳しく見ると、ctimeデータブロックおよび/またはファイルメタデータが変更されてからinodeが報告した時間です。ここでのファイルメタデータの変更は、ファイル名、ファイル権限、ファイル属性、SELinuxコンテキスト、および特定のファイルに関連する他の多くの種類のファイルシステムメタデータが変更されてから経過した時間などを示します。ctimeこのフィールドはデータがチャンクされるたびに更新されるため、またはmtimeメタデータは更新されるたびに変更され更新されます。ただし、そのファイルに対する最新の変更に、ファイル名の変更、chmodユーザー呼び出し権限の変更などのメタデータの変更のみが含まれている場合ただ ctimeそしていいえ mtime更新されます。

ctime変更されたが変更されていない条件mtimeは、ファイルメタデータが何らかの方法で変更されましたが、ファイル自体を構成する基本データは変更されていないことを示します。これは、自動化されたデータバックアップ、コンピュータフォレンジックなどに役立つと思います。

おすすめ記事