1.2.6. 时间戳
GNU/Linux 文件有三种类型的时间戳。
表 1.9. 时间戳类型列表
类型 | 含义(历史上 Unix 的定义) |
---|---|
mtime | 文件修改时间(ls -1 ) |
ctime | 文件状态修改时间 (ls -lc ) |
atime | 文件最后被访问的时间 (ls -lu ) |
注意 | |
---|---|
ctime 不是文件创建时间。 |
注意 | |
---|---|
atime在 GNU/Linux 系统上的真实值可能和历史上 Unix 的定义有所不同。 |
覆盖一个文件,将会改变该文件所有的 mtime, ctime, 和 atime 属性。
改变文件的所有者或者权限,将改变文件的 ctime 和 atime 属性。
在历史上的 Unix 系统中,读取一个文件将改变文件的 atime 属性。
读一个文件,将改变文件的 atime属性;在 GNU/Linux 系统上,这仅发生在其文件系统使用“
strictatime
”参数挂载的情况下。如果 GNU/Linux 系统的文件系统使用 “
relatime
“ 选项挂载,第一次读文件,或者随后读文件,将改变该文件的 atime 属性. (从 Linux 2.6.30 开始的默认行为)如果 GNU/Linux 系统的文件系统使用 “
noatime
“ 挂载,则读一个文件,不会改变这个文件的 atime 属性。
注意 | |
---|---|
为了在正常的使用场景中能够提升文件系统的读取效率,新增了 “ |
使用 touch(1) 命令修改已存在文件的时间戳。
对于时间戳,ls
命令输出字段在非英语区域(“fr_FR.UTF-8
”) 与旧的区域(“C
”)不同。
$ LANG=fr_FR.UTF-8 ls -l foo
-rw-rw-r-- 1 penguin penguin 0 oct. 16 21:35 foo
$ LANG=C ls -l foo
-rw-rw-r-- 1 penguin penguin 0 Oct 16 21:35 foo
提示 | |
---|---|
参考第 9.2.5 节 “定制时间和日期的显示” 自定义 “ |