浅析Linux下的atime、ctime、mtime

本文内容概要:
1、简述atime,ctime,mtime。
2、cp、mv等指令对3个时间的影响。
3、touch指令如何修改3个时间。


1、简述atime,ctime,mtime:
说到这三个时间的时候,不得不先说一下touch指令。
初次接触touch指令的时候,我只知道它可以用来创建一个新的文件,可是,如果我们再次在该目录下执行touch指令,会出现什么效果呢?创建不成功还是创建成功?请看下图。
这里写图片描述
【总结】
touch +filename
1.当前目录下不存在filename时,touch指令可以创建一个名为filename的文件。
2.当前目录下存在filename时,touch指令可以修改filename文件的时间。

由于新建一个文件是比较简单的,所以本文主要分析文件的3个时间是干什么用的,以及 touch指令是如何修改文件的时间。
这里写图片描述
注明:以下的每个测试之前都将文件的时间设定为当前时间,便于观察各个时间的变动。
1.文件的3个时间
1>验证atime的改变。
向文件中写入内容,然后将时间改为当前的时间。
这里写图片描述
【总结 】
只有进行读文件操作时,atime才会被改变。


2>验证mtime的改变。

这里写图片描述
我向文件中重新写入 hello 仅仅改变了内容,为什么文件的ctime也会跟着改变呢?一开始对于这个问题我也是比较模糊,我觉得文件的大小,文件的类型等等都没有改变,ctime应该不会变。后来通过和同学的讨论,就有:只有mtime改变或者手动修改了atime,ctime是必然改变的。(注意:上边对atime的验证,那并不是手动修改的atime)
所以,我认为:一般mtime的改变可能就会引起ctime的改变,但是atime的改变就不一定引起ctime的改变。


3>验证ctime的改变。
修改文件的权限为 666.
这里写图片描述
修改文件的所有者为root
这里写图片描述
所以,我们可以看出,修改文件的权限或者所有者等等信息的时候,就会改变文件的ctime。
注意:
ll(ls-l命令的别名)显示的时间就是mtime。
这里写图片描述


2、一些指令对3个时间的影响:
mv指令:
这里写图片描述
cp指令:
这里写图片描述


3.深入了解touch指令(touch指令对时间的影响)
1>touch -a 文件名,修改atime,随即修改ctime
这里写图片描述
2>touch -c 文件名
这里写图片描述
3>touch -d 文件名 将atime和mtime更新为给定时间,ctime更新为当前时间。

这里写图片描述
这里写图片描述
4>touch -m 文件名 修改mtime,但是也会改变ctime
这里写图片描述
5>touch -t 文件名 修改atime和mtime,ctime是当前时间
这里写图片描述
关于Linux下的时间和touch指令就先分享到这里~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值