有时间可以直接看一下man find文档
-
找到更改时间为N天前的文件,并执行某些命令
find /home/files/ -type f -mtime +7 -execdir file {} ;
-type: 表示要找什么东西,常用的f普通文件、d表示目录、l表示快捷链接
-mtime: 表示文件最近一次被修改的时间是什么时候,可以写正整数,也可以在数字前面加入+或-。类似的还有atime、ctime。要注意的是时间是以当前时间再往前推多少天这么计算的。
只写正整数表示文件的最近修改时间是在之前第几天,0表示24h内;
+表示最近修改时间在第几天之前的都算;
-表示最近修改时间在第几天之内的都算,
然后可以组合起来如-mtime +7 -mtime -10以此来确定一个范围
-execdir: 没找到一次就执行命令,和exec是一样的,不过官方推荐用execdir来代替exec避免一些安全问题,具体是什么问题没说明。file {} \;为execdir要执行的命令,其中{}表示每次找到的文件,\;表示execdir执行命令的结尾,使用转义字符\是为了避免被shell误解析成分行 -
-size
使用方式和第1点中的mtime差不多,可以支持的格式:整数,+,-。
单位可以如下:
b块的大小;
c字节大小;
w两个字节的大小,也就是c/2;
k也就是KB;
M一样,MB;
G一样,GB;
本文介绍如何利用Linux下的find命令进行高级文件搜索,包括按修改时间、文件类型及大小等条件查找文件,并介绍了-execdir命令的应用场景及其安全性优势。
1647

被折叠的 条评论
为什么被折叠?



