linux文件的时间
在类 Unix 系统中,文件的时间戳有几个不同的类别,每个时间戳代表了文件生命周期中的不同事件。 "modify 时间"(mtime)实际上是其中之一,下面是对常见时间戳的详细区分和解释:
1. 修改时间(mtime - Modify Time)
- 定义:
mtime是文件内容最后一次被修改的时间。 - 更新:当文件的内容发生改变时(例如,你编辑了文件、追加了内容或替换了部分数据),
mtime会被更新。 - 影响:
mtime只会在文件的实际内容改变时更新。即使文件的元数据(如权限、所有者等)发生变化,mtime也不会改变,除非文件内容本身发生了变化。
2. 访问时间(atime - Access Time)
- 定义:
atime是文件最后一次被访问的时间。 - 更新:当文件被打开时(无论是读取、执行还是其他操作),
atime会被更新。即使文件内容没有变化,只要文件被访问了,atime就会更新。 - 影响:
atime更新通常发生在你读取文件时(例如,用cat命令查看文件内容,或者程序访问该文件),但它的更新可能会受到系统挂载选项(如noatime)的影响。
3. 变更时间(ctime - Change Time)
- 定义:
ctime是文件的元数据(如文件权限、所有者等)最后一次被修改的时间。 - 更新:当文件的元数据(例如文件的权限、所有者、文件名、或者通过
touch更新的时间戳)发生变化时,ctime会被更新。注意:ctime仅在文件元数据被修改时更新,不管文件内容是否被修改。 - 影响:当你改变文件的权限(
chmod)、所有者(chown)、或者使用touch命令更新文件的时间戳时,ctime会更新。
4. 创建时间(btime - Birth Time)
- 定义:
btime是文件在文件系统中被创建的时间。并不是所有文件系统都支持记录文件的创建时间。 - 更新:
btime在文件创建时被设定,并且无法通过任何命令(如touch)进行修改。
总结:
mtime(修改时间):记录文件内容最后一次修改的时间。atime(访问时间):记录文件最后一次被访问的时间。ctime(变更时间):记录文件元数据最后一次变更的时间。btime(创建时间):记录文件被创建的时间,通常不可修改。
touch 命令在默认情况下会更新文件的 atime 和 mtime,但不会影响 btime 和 ctime。如果你只是修改文件的时间戳(如使用 touch),ctime 也会因为元数据的变化而更新。
浙公网安备 33010602011771号