linux查找特定时间变动过的文件,查找与给定文件有时间关系的文件,对于排查问题特别重要,find命令的就是做这个事情的,查找linux下指定时间内做过改动的文件。
find 命令有几个用于根据您系统的时间戳搜索文件的选项。这些时间戳包括
mtime 文件内容上次修改时间
atime 文件被读取或访问的时间
ctime 文件状态变化时间
mtime 和 atime 的含义都是很容易理解的,而 ctime 则需要更多的解释。由于 inode 维护着每个文件上的元数据,因此,如果与文件有关的元数据发生变化,则 inode 数据也将变化。这可能是由一系列操作引起的,包括创建到文件的符号链接、更改文件权限或移动了文件等。由于在这些情况下,文件内容不会被读取或修改,因此 mtime 和 atime 不会改变,但 ctime 将发生变化。
这些时间选项都需要与一个值 n 结合使用,指定为 -n、n 或 +n。
N * 24
+1 表示 1 * 24 +24小时以外..
+0 表示 0 * 24 +24小时以外
1 表示 1 * 24 + 24 到 24 之间..
0 表示 0 * 24 + 24 到 0 之间..
-1 表示 0 * 24 +24 内,甚至为未来时间...
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 时间?鹊奈募?/p>
find与指定时间比较选项参数
-mtime n 文件修改时间,对文件数据的最近一次修改是在 n*24 小时之前
-mmin n 对文件数据的最近一次修改是在 n 分钟之前
-ctime n 文件状修改时间,对文件状态的最近一次修改是在 n*24 小时之前。
-cmin n 件状态修改,对文件状态的最近一次修改是在 n 分钟之前。
-atime n 访问时间,对文件的最近一次访问是在 n*24 小时之前。
-amin n 最后访问时间,对文件的最近一次访问是在 n 分钟之前。
-mtime : 指定时间曾被改动过的文件,意思是文件?热荼桓?墓?/p>
-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
1.当前时间24小时—当前时间(昨天-今天)
#find . -mtime 0
2.当前时间48小时前–当前时间24小时前(前天-昨天)
#find . -mtime 1
3.当前时间48小时前(2天前)
#find . -mtime +1
4.当前时间24小时–当前时间(昨天-今天)
#find . -mtime -1