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之间的文件