您的位置:首页 > 运维架构 > Linux

Linux下文件的mtime/atime/ctime研究

2016-03-28 15:54 337 查看

概述

在Linux下,对于某一个文件或文件夹时间的描述有三种:文件修改时间mtime,文件访问时间atime,文件状态改变时间ctime。在Linux下无法获取到文件的创建时间,因为根本就没有保存这个时间。

如果文件创建之后没有被修改过内容,那么mtime就是创建时间;如果文件创建之后没有被获取过内容,那么atime就是创建时间;如果文件创建之后没有改变过状态,那么ctime就是创建时间。但是,但是,但是实际情况下以上的如果是不可能存在的。所以想要直接获取文件的创建时间是几乎不可能的。

查看文件的三个时间

使用stat命令

可以使用stat命令查看文件的三个时间,其中Access指最后访问时间;Modify指最后修改时间;Change指最后状态改变时间。

使用ls命令

ls -l 默认显示文件的Mtime

ls -lc 显示文件的Ctime

ls -lu 显示文件的Atime

命令运行情况如下图所示:



三个时间何时变化

Mtime (modification time ):在写入文件时随文件内容的更改而更改的时间。我们用ls -l看到的时间,就是mtime

Ctime (status time):是在写入文件、更改所有者、权限或链接设置时随Inode的内容更改而更改的时间。相当于ls -l –time=ctime所看到的时间

Atime (access time):读取文件或者执行文件时更改的时间。也就是用ls -l –time=atime看到的时间

注意:关于Atime,在Linux内核为2.6.30之前是严格变化的。但是2.6.30之后出于性能考虑做了一定的改变,Atime不是每次访问文件时都一定改变,具体情况请参考:文件atime未变问题的研究

根据文件的三个时间排序文件夹中的文件

ls -lt 默认按文件的Mtime排序

ls -ltc 按文件的Ctime排序

ls -ltu 按文件的Atime排序

以上三个命令之后都可以加上r表示倒序排列

使用touch命令修改文件时间

请参考:linux 下查看文件修改时间 等

linux touch 与 linux文件ctime、atime、mtime

linux下文件的创建时间、访问时间、修改时间和改变时间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: