liunx的三个时间atime,mtime,ctime详细说明与使用场景

导航:一、文件与文件夹三个时间:atime,mtime,ctime的含义二、ll命令查看文件时间三、stat命令查看文件的时间四、测试创建/修改文件的时间五、常用命令关于文件时间相关
- - - - - - - - - - 分割线 - - - - - - - - - -
一、文件与文件夹三个时间:atime,mtime,ctime的含义1.含义atime(Access Time):文件最近被访问时间mtime(Modify Time):文件最近内容修改时间ctime(Change Time):文件最近权限和属性修改时间
2.文件的触发time修改的情况atime(Access Time):在读取文件或者执行文件时更改的任何对inode的访问都会使此处改变mtime(Modify Time):在写入文件时随文件内容的更改而更改的ctime(Change Time):在写入文件、更改所有者、权限或链接设置(更改状态)时随 Inode 的内容更改而更改的
3.文件夹触发time修改的情况atime(Access Time):读取文件或者执行文件时更改的(cd不会ls会改变)mtime(Modify Time):在文件夹中有文件的新建才会改变 , 注意使用vi在文件夹内新建文件即使退出时也会变化mtime,而只更改文件夹内文件内容不会修改文件夹的mtimectime(Change Time):ctime 基本同文件的ctime , 其体现的是inode的change time
4.注意事项,mtime与ctimemtime的改变必然导致ctime的改变,但是ctime不一定导致mtime的更改
二、stat命令查看文件的时间
stat test001.txt

liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
三、ll命令查看文件时间(对照stat命令可验证)
1.默认显示mtime
ll test001.txt#默认显示mtime
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
2.展示ctime
ll --time=ctime test001.txt #展示ctime
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
 3.展示atime
ll --time=atime test001.txt #展示atime
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
四、测试创建/修改文件的时间
假定目前的时间是:2022-10-05 13:15:40
date "+%Y-%m-%d %H:%M:%S"
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
1.创建文件后测试,文件atime、ctime、mtime均一样
touch test001.txtstat test001.txt
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
2.修改文件后查看,文件atime不变,ctime、mtime更新
echo 123 > test001.txtstat test001.txt
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
 3.更改文件属主后:文件atime、mtime不变,ctime更新
chown -R root:root test001.txtstat test001.txt
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
 4.创建文件夹,文件atime、ctime、mtime均一样
mkdir test001mdrstat test001mdr
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
 5.文件夹内新建文件 , 文件夹atime不变 , ctime与mtime均发生改变
vi test001mdr/test001.txtstat test001mdr
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
 6.修改文件夹的属主 , 文件夹的atime、mtime不变,ctime更新
chown -R root:root ./test001mdrstat test001mdr
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
五、常用命令关于文件时间相关(24h为一天前时间节点,0为当前时间)
1.在当前目录下查询3天内修改过的文件(72h~0)
find .-mtime -3 #查询3天内修改过的文件
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
2.在当前目录下查询1天内访问过的文件(24h~0)
find . -atime -1 #查询1天内访问过的文件
liunx的三个时间atime,mtime,ctime详细说明与使用场景

文章插图
3.查找50-100 天修改过的文件(100d~50d)
find / -mtime +50 -mtime -100 #查找50-100 天修改过的文件

推荐阅读