find查找文件的时间问题

时间:2021-06-15 07:11:33
很多细节方面的东西没有到真正用的时候,是觉察不出来的,因为这个时间的问题出了问题,现在好好理一下,这个find的时间很容易就搞混了,一段时间不用,也忘了,也反映出来了自己的基础知识不是很牢固啊
 
find与时间有关的选项有-atime(访问时间)、-ctime(创建时间)、-mtime(属性修改时间),参数为后面跟的时间n
 
find . -atime n     这里的n表示n天之前的“一天之内”被访问过的文件
find . -atime +n   列出在n天之前(不包含n天本身)被访问过的文件
find . -atime -n    列出在n天之内(包含n天本身)被访问过的文件
 
示例:
 
假如现在的时间点为20171209的15:00整,那么下面几个查询表示的具体时间范围
 
1:创建文件     
 
touch -a -d "2017-12-02 12:00" a.txt
touch -a -d "2017-12-02 17:00" b.txt
touch -a -d "2017-12-03 19:00" c.txt
touch -a -d "2017-12-04 16:00" d.txt
touch -a -d "2017-12-05 16:00" e.txt
touch -a -d "2017-12-06 16:00" f.txt
touch -a -d "2017-12-07 20:00" g.txt
touch -a -d "2017-12-08 20:00" h.txt
2:以下三条命令得到的结果分别为:
find . -atime 2   找出两天之前的一天内被访问文件(距离现在的 -72小时 ~~ -48小时 之间
find查找文件的时间问题
 
find . -atime -2  找出距离此时两天之内的被访问的文件(距离现在的前48小时之内)
find查找文件的时间问题
 
find . -atime +2    找出两天之前,不包括两天之前的一天(也就是不包括-2和2的)之前的被访问的文件(离此时72小时之前
find查找文件的时间问题
 
分析:
 
  文件时间列表:
 
                                                      +2                                                                   2                                 -2
----------------------------------------------------------------------------------------------------------------><--------------------><------------------------------------------->
        a.txt                b.txt                c.txt                 d.txt                 e.txt                f.txt                 g.txt                h.txt            
___________|_____________|_____________|_____________|_____________|_____________|_____________|_____________|               
             12月2号            12月3号             12月4号           12月5号             12月6号          12月07号          12月08号         12月09号
               15:00             15:00              15:00            15:00               15:00             15:00             15:00            15:00