linux文件的三个时间atime,mtime,ctime以及查找和修改方法

atime是指access time,访问时间,即文件被读取或者执行的时间;

mtime即modify time,指文件内容被修改的时间;

ctime即change time文件状态改变时间。

操作

atime

mtime

ctime

mv

没变

没变

变了

cp

变了

没变

没变

touch

变了

变了

变了

cat/more/less

变了

没变

没变

ls

没变

没变

没变

chmod/chown

没变

没变

变了

ln

没变

没变

变了

echo

没变

没变

没变

vi

没变

变了

变了

注: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]

操作

atime

mtime

ctime

touch -a

变了

没变

变了

touch -c

变了

变了

变了

touch -m

没变

变了

变了

touch -d

变了

变了

没变

touch -r

变了

变了

没变

touch -t

变了

变了

没变

注:这三个标颜色的没变,是指日期不会更改,时间变更为当前时间

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

上一篇:centos系统磁盘扩容


下一篇:Centos7 ext3/4 xfs扩容根分区(非LVM)