先了解一下这三个时间
在linux操作系统中,每个文件都有很多的时间参数,其中有三个比较主要,分别是ctime,atime,mtime
modification time(mtime):
当修改文件的内容数据的时候,就会更新这个时间,而更改权限或者属性,mtime不会改变,这就是和ctime的区别
status time(ctime)
当修改文件的权限或者属性的时候,就会更新这个时间,ctime并不是create time,给我的感觉更像是change time,但这么说也不完全对,因为只有当更新文件的属性或者权限的时候才会更新这个时间,更改内容的话是不会更新这个时间的
accesstime(atime)
当使用这个文件的时候就会更新这个时间
find命令中的使用
这三个时间可以接 -n +n n 三个参数,如下所述:
- -n n天以内
- +n n天前,不包括n天
- n 第n天
小实验一下
- 利用touch命令创建五个文件:
touch 2019-01-06-11-35-22.txt
touch -t 1901041300 2019-01-04-13-00-00.txt
touch -t 1901041000 2019-01-04-10-00-00.txt
touch -t 1901031000 2019-01-03-10-00-00.txt
touch -t 1901031300 2019-01-03-13-00-00.txt
- 如上图,我们的这五个文件分别能落到这三个区域,下面看一下
date -s '2019-01-06 11:22:22';find -mtime -2 -type f
查找2天内的文件
date -s '2019-01-06 11:22:22';find -mtime +2 -type f
查找2天前的文件
date -s '2019-01-06 11:22:22';find -mtime 2 -type f
查找第n天的文件
- 五个文件的分布
探索一下
下面我的实验方式有可能不妥
- 2019-01-03 11:22:22 算是N天前还是第N天呢?
我的touch命令没有精确到秒,所以下面用 2019-01-03-11-22-00.txt做实验
touch -t 1901031122 2019-01-03-11-22-00.txt
[root@yn-192 testfind]# stat 2019-01-03-11-22-00.txt|grep Modify
Modify: 2019-01-03 11:22:00.000000000 +0800
[root@yn-192 testfind]# date -s '2019-01-06 11:22:00';find -mtime +2 -type f
Sun Jan 6 11:22:00 CST 2019
./2019-01-03-11-22-00.txt
我的结论是 2019-01-03 11:22:22 属于n天前。(我的时间不够精确,有可能我的结论是错误的,还请各位大神帮忙求证一下)
先写到这里了,有问题进QQ群630300475