用户工具

站点工具


linux:find-latest-edit

Linux系统下用find命令查找最近修改过的文件

Linux的终端上,没有windows的搜索那样好用的图形界面工具,但find命令确是很强大的。

比如按名字查找一个文件,可以用 find / -name targetfilename 。 唉,如果只知道名字,不知道地点,这样也不失为一个野蛮有效的方法。

按时间查找也有参数 -atime 访问时间 -ctime 改变状态的时间 -mtime修改的时间。但要注意,这里的时间是以24小时为单位的。

查看man手册后使用,你会很迷惑: -mtime n: Files data was last modified n*24 hours ago. 字面上的理解是最后一次修改发生在n个24小时以前的文件,但实际上

find ./ -mtime 0:返回最近24小时内修改过的文件。

find ./ -mtime 1 : 返回的是前48~24小时修改过的文件。而不是48小时以内修改过的文件。

那怎么返回10天内修改过的文件?find还可以支持表达式关系运算,所以可以把最近几天的数据一天天的加起来:

find ./ -mtime 0 -o -mtime 1 -o -mtime 2 ……虽然比较土,但也算是个方法了。

还有没有更好的方法,我也想知道。

另外, -mmin参数-cmin / - amin也是类似的。

Find应用实例

查找最近30分钟修改的当前目录下的.php文件

find . -name '*.php' -mmin -30

查找最近24小时修改的当前目录下的.php文件

find . -name '*.php' -mtime 0

查找最近24小时修改的当前目录下的.php文件,并列出详细信息

find . -name '*.inc' -mtime 0 -ls

查找当前目录下,最近24-48小时修改过的常规文件。

find . -type f -mtime 1

查找当前目录下,最近1天前修改过的常规文件。

find . -type f -mtime +1

参考

linux/find-latest-edit.txt · 最后更改: 2014/05/12 05:54 (外部编辑)