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)时间范围内被修改过内容的文件
命令格式: find 目录 -mtime n -name 文件名 在指定目录及其子目录下查找 [ nowtime - (n+1)* 24h ,nowtime - n * 24h ]时间范围内被修改过内容的文件
命令格式: find 目录 -mtime -n -name 文件名 在指定目录及其子目录下查找(nowtime - n * 24h , nowtime ) 时间范围内被修改过内容的文件
例如:
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之间的文件