find命令详解
linux查找特定时间变动过的文件,查找与给定文件有时间关系的文件,对于排查问题特别重要,find命令的就是做这个事情的,查找linux下指定时间内做过改动的文件。
find查找今天修改的文件
#查找当前目录一天之前到此时之间修改的文件,也就是过去的24小时内修改的文件。
find ./ -mtime 0
#查找当前目录小于1天(1*24)之前的修改过的文件,也就是24小时内修改的文件,这个和上面的结果一样。
find ./ -mtime -1
#查找当前目录等于1天(1*24)之前的修改过的文件,也就是24小时之前(包括第24小时)修改的文件
find ./ -mtime 1
#查找当前目录大于1天(1*24)之前的修改过的文件,也就是至少2天之前修改的文件。mtime后的参数只能是整数,所以大于1的要从2开始,下面的命令等同于-mtime 2。
find ./ -mtime +1
时间是以 24 小时为一个单位,而不是以天的,从当日起始时开始而不是从24小时之前。
2015/03/29 12:00 时间开始找一天內的,会列出 2015/03/28 12:00 ~ 2015/03/29 12:00 时间內的文件
find与指定时间比较选项参数
-mtime n 文件修改时间,对文件数据的最近一次修改是在 n*24 小时之前
-mmin n 对文件数据的最近一次修改是在 n 分钟之前
-ctime n 文件状修改时间,对文件状态的最近一次修改是在 n*24 小时之前。
-cmin n 件状态修改,对文件状态的最近一次修改是在 n 分钟之前。
-atime n 访问时间,对文件的最近一次访问是在 n*24 小时之前。
-amin n 最后访问时间,对文件的最近一次访问是在 n 分钟之前。
-mtime : 指定时间曾被改动过的文件,意思是文件內容被更改过
-ctime : 指定时间曾被更改过的文件,意思是文件权限被更改过
-atime : 指定时间曾被存取过的文件,意思是文件被读取过
find与指定文件比较参数
-anewer file
对文件的最近一次访问比 file 修改时间要晚。如果命令行中 -follow 在 -anewer 之前,(也只有在这种情况下 -anewer会受 -follow 的影响)。
-cnewer file
对文件状态的最近一次修改比 file 修改时间要晚。如果命令行中 -follow 在 -cnewer 之前,(也只有在这种情况下-cnewer 会受 -follow 的影响)。
find实例
找出 3 天"以前"被改动过的文件 (前第三天以前 → 2015/03/26 12:00 以前的文件) (> 72 小时)
find ./ -mtime +3 -type f -print
找出 3 天內被改动过的文件 (2015/03/26 12:00 ~ 2015/03/29 12:00 內的文件) (0 ~ 72 小时內)
find ./ -mtime -3 -type f -print
找出前第 3 天被改动过的文件 (2015/03/25 12:00 ~ 2015/03/26 12:00 內的文件) (72 ~ 96 小时)
find ./ -mtime 3 -type f -print
找出第 3 天被改动过的文件 (也可以这样写)
find ./ -mtime +2 -mtime -4 -type f -print