在windows操作系统中,一个文件拥有三种时间属性:创建时间、修改时间和访问时间。然而,在linux操作系统中,一个文件同样具有三种时间属性,但它们分别是:访问时间(access)、修改时间(modify)和状态改变时间(change)。
要查看Linux下文件的访问时间、修改时间和状态改变时间,可以使用stat命令。以下是如何使用该命令的示例:
遗憾的是,目前常见的Linux文件系统,如ext3,并不存储文件的创建时间。然而,有些文件系统确实支持创建时间,但它们使用的字段名称各不相同,例如:
- ufs2 → st_birthtime
- zfs → crtime
- ext4 → crtime
- btrfs → otime
- jfs → di_otime
要查看当前使用的文件系统类型,可以使用df -T命令,如下所示:
在本例中,使用的文件系统类型是ext3,因此无法查看文件的创建时间。不过,如果文件在创建后未被修改过,那么修改时间将等于创建时间;如果文件的状态未改变过,那么状态改变时间将等于创建时间;如果文件未被读取过,那么访问时间将等于创建时间(但这通常不太可能)。
文件的时间属性会在以下情况下发生变化:
- 使用vi打开文件但不进行编辑,退出后文件的访问时间会改变。
- 使用vi打开文件并进行编辑后保存退出,文件的修改时间和访问时间都会改变。
- 使用chmod +x命令为文件添加可执行属性,文件的状态改变时间会改变。
参考文献[1] What file systems on Linux store the creation time?