linux文件的三个时间atime,mtime,ctime分别表示什么?
atime是指access time,访问时间,即文件被读取或者执行的时间;
mtime即modify time,指文件内容被修改的时间;
ctime即change time文件状态改变时间。
注:1.cp后的目标文件是三个时间全变了;只变atime是指cp的源文件
2.cat/more/less在部分系统中也是不会改变atime的
3.如果是ln -s软链接,ctime是不会变的
查看atime,mtime,ctime用stat 文件名的方法
stat t.txt
也可以分别用下面的命令:
ls -lc test :查看test文件的ctime(change time)
ls -lu test :查看test文件的atime(access time)
ls -l test:查看test文件的mtime(modify time)
修改文件时间:touch
touch [-acdmt] 文件或目录
-a修改atime和ctime
-c 修改三个时间,如该文件不存在则不建立新文件
-m 仅修改mtime和ctime
-d 后面可以接修改时间,而不用目前日期,也可以使用--date="日期或时间"
-r 参考文件 变更文件:把指定的文件atime、mtime更设成和参考文件的相同值
-t 后面接需要更改的时间,格式为 [[CC]YY]MMDDhhmm[.SS]
注:这三个标颜色的变了,ctime的日期和时间是会变成当前时间的(-d -r -t这三个都可以改变atime,mtime为特定时间)
touch -a t.txt
touch -c t.txt
touch -m t.txt
touch -d修改的时候,ctime的日期和时间是会变成当前时间的
touch -d "2 years ago" t.txt
touch -d "2021-03-21 18:00:05" t.txt
按照1.txt的时间来设置t.txt的时间, 修改的时候,ctime的日期和时间是会变成当前时间的
touch -r 1.txt t.txt
Touch -t只能精确到秒,而且是要在小数点后。修改的时候,ctime的日期和时间是会变成当前时间的
touch -t 201903201005.15 t.txt
比当前时间提前(0.05+1)*24小时以内(<=)
find -mtime 0.05
比当前时间提前1.05*24小时以内(<=)
find -mtime -1.05
比当前时间提前(0 +1)*24小时以上(>=)
find -mtime +0
文章作者: 朱丰华
文章链接: https://smart.52dixiaowo.com/blog/post-465.html
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。