Linux下的三个时间

12 篇文章 0 订阅

这里写图片描述

在Linux系统下,我们可以通过stat指令来查看文件的时间。
stat 文件名
即可查看该文件的时间。
由上图可见,系统共显示了三个时间。
分别为:
Access:文件最后的访问时间
Modify:文件最后的修改时间
Change:对文件inode信息最后的修改时间

linux中的三个时间

①Modify time(mtime)
当该文件的内容数据更改时,就会更改这个时间。
内容数据:指的是文件的内容,而不是文件的属性或权限。

②Status time(ctime)——也称作Change time
当该文件的属性改变时就会更新这个时间。

③Access time(atime)
当该文件的内容被取用被访问时,就会更新这个读取时间,这个时间为我们最后一次访问的时间(例如我们使用cat命令去读取一个文件的内容时)

在用ls -l命令时,会显示一个时间,这个时间是Modify time(mtime)

这里写图片描述

那么使用ls命令如何查看文件的atime和ctime呢?

这里写图片描述

这里写图片描述

那么如何改变它们呢?

这里写图片描述

①Modify time(mtime)

文件的modify时间也叫时间戳(timestamp)

不用访问文件也可以修改文件的内容,即就是不会修改文件的access time也可以修改文件的modify time。
而当modify time 改变时,change time 也会随之而被修改。
因为文件的大小等也是文件的属性。

这里写图片描述

②Status time(ctime)——也称作Change time

这里写图片描述

修改文件权限后,文件的ctime发生了改变。

chmod、chown、create、mv等动作会将Linux文件的change time修改为系统当前时间。

③Access time(atime)

首先修改atime,修改文件内容即可。
阅读一个文件也会改变它的atime,而另外两个时间不会发生改变。

cat、more 、less、grep、sed、tail、head、vi、vim、nano、touch
以上这些命令都会修改文件的atime

这里写图片描述

可以看到,使用cat命令后,文件的Access time发生了改变。

这里写图片描述

修改权限后,文件的atime未发生改变。

不要使用vi访问。
当使用vi命令时:无论是否修改文件的内容,文件的三个时间都将被修改。
只是进入了vim编译器,而没有修改里面的任何内容。

从上面的过程我们发现了什么呢?
只要修改文件内容,不止mtime发生了改变,ctime也发生了改变。
修改权限后则只有ctime发生了改变。
修改atime后其他两个时间也未发生改变。


刚接触touch指令时

这里写图片描述

显示touch指令可以修改时间。

这里写图片描述

可以发现,touch -a指令修改了文件的atime及ctime。
(实质上发生改变的是atime)

这里写图片描述

touch-m指令则是修改了文件的mtime及ctime
(实质上发生改变的是mtime)


当你读取文件,只会改变atime
当你变更文件内容,会改变ctime和mtime
当你改变了权限与inode的其他相关属性,会改变ctime
我们通过touch可以修改三个时间。只要修改了,ctime是一直会变的。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值