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

概述

Linux下,对于某一个文件或文件夹时间的描述有三种:文件修改时间mtime,文件访问时间atime,文件状态改变时间ctime。在linux下无法获取到文件的创建时间,因为根本就没有保存这个时间。 
如果文件创建之后没有被修改过内容,那么mtime就是创建时间;如果文件创建之后没有被获取过内容,那么atime就是创建时间;如果文件创建之后没有改变过状态,那么ctime就是创建时间。但是,但是,但是实际情况下以上的如果是不可能存在的。所以想要直接获取文件的创建时间是几乎不可能的。

查看文件的三个时间

使用stat命令

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

使用ls命令

ls -l 默认显示文件的Mtime 
ls -lc 显示文件的Ctime 
ls -lu 显示文件的Atime 
命令运行情况如下图所示: 
stat&ls

三个时间何时变化

  • 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下文件的创建时间、访问时间、修改时间和改变时间

转载于:https://my.oschina.net/u/1776219/blog/1510348

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值