linux find命令mtime/atime/ctime +n -n n 全网最正确的总结

1、man find 解释:

find - search for files in a directory hierarchy,即:在目录下查找文件

2、按文件被修改的时间查询文件

命令格式: find 目录 -mtime  +n  -name  文件名   

#在指定目录及其子目录下查找(负无穷,nowTime -  (n+1)* 24h)时间范围内被修改过内容的文件

#查找的时间单位是24小时,查距离现在3*24小时以前的文件

 

 

 

 

 

 

 

 

命令格式: find 目录 -mtime    n  -name  文件名   

#在指定目录及其子目录下查找 [ nowTime -  (n+1)* 24h ,nowTime -  n * 24h ]时间范围内被修改过内容的文件

#即查今天前第N天的文件

 

 

 

 

命令格式: find 目录 -mtime   -n  -name  文件名   

#在指定目录及其子目录下查找(nowTime -  n * 24h , nowTime ) 时间范围内被修改过内容的文件

#即查找今天前的n天内

 

 

例如:

find /log/fs/early_media/ -mtime  +2 -name "*.*" 查出nowTime-3*24h前的文件
find /log/fs/early_media/ -mtime   2 -name "*.*" 查出nowTime-3*24h ~ nowTime-2*24h之间的文件
find /log/fs/early_media/ -mtime  -2 -name "*.*" 查出nowTime-2*24h ~ nowTime之间的文件

find /log/fs/early_media/ -mtime  +1 -name "*.*" 查出nowTime-2*24h前的文件
find /log/fs/early_media/ -mtime    1 -name "*.*" 查出nowTime-2*24h ~ nowTime-1*24h之间的文件
find /log/fs/early_media/ -mtime   -1 -name "*.*" 查出nowTime-1*24h ~ nowTime之间的文件

find /log/fs/early_media/ -mtime +0 -name "*.*" 查出nowTime-24h前的文件
find /log/fs/early_media/ -mtime   0 -name "*.*" 查出nowTime-24h内的文件,即nowTime-24h ~ nowTime之间的文件

如下图,当前时间(即执行以上find命令的时刻)为8号10:01:05

+2  表示的是查找 nowTime - (2+1)*24小时前的文件 ,即查找的是5号10:01:05前的文件

 2   表示的是查找 nowTime -(2+1)*24小时 ~  nowTime  - 2 *24小时 之间的文件 ,即查找的是5号10:01:05 到 6号10:01:05之间的文件

-2   表示的是查找 nowTime  - 2 *24小时  ~ nowTime  之间的文件 ,即查找的是6号10:01:05 到 8号10:01:05之间的文件

 

 

 

posted @ 2020-01-08 13:46  我是大脸猫H  阅读(1578)  评论(0编辑  收藏  举报