🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
find 全局搜索 第一种: ``` find / -name "\*.log" | xargs grep "vl"      ```   /:意思是从/开始进行查找。   意思是包含“vl”的行。  不区分大小写 第二种: ``` find  -iname "\*SaleContractFromDc\*" ``` (推荐使用)第三种: ``` find . -name  "SaleContractFromDC.jsp" ``` 模糊查找: ``` find ./ -name "*func*" ``` ***** **find 目录 -type d** **find 文件 -type f** **-mount** 忽略挂载. **\-exec command:** 执行命令, 具体介绍见后文.  **\-ok command:** 和-exec一样, 除了命令执行需要用户许可.  **\-print:** 打印文件名  **\-ls:** 列出文件详细信息 ***** find **-perm**,根据文件的权限来查找文件,有三种形式: ``` find -perm mode find -perm -mode find -perm +mode ``` 例子:find -perm 777 index.php **find -perm mode**, 表示严格匹配,也就是你的文件权限位转换成对应的十进制数字与mode一模一样,那么匹配成功,需要注意的是如果mode给的数字不足3位,那么前面自动添0(严格的说是不足4位,原因就是前面所说的setuid,setgid,稍后解释)  **find -perm -mode** , 表示mode中转换成二进制的1在文件权限位里面必须匹配,比如mode=644那么转换成二进制为110 100 100,而被查找的文件的权限位也可以被转换成一个二进制数,两者在位上为1的部分必须完全匹配,而0则不管。例如被查找的文件的权限为转换成二进制数是111 111 111那么这个比如被匹配,而假如是100 100 100那么则不会匹配。所以这个'-'的作用归结起来就是匹配比mode权限更充足的文件(找不到什么词语来形容了)  **find -perm +mode** , 与 -mode的区别是+mode只需其中的任意一个1的部分被匹配,-mode是所有1的部分都必须被匹配,同样+mode也不管0位。 **简单来说**:-mode是二进制所有1的部分都必须被匹配,+mode只需其中的任意一个二进制的1的部分被匹配 mode十进制数字与mode一模一样. ***** 使用 find 命令**查找文件并删除**它们(没有提示的删除) 在当前目录及其子目录中中任何名为 index.php 的文件都将被立即删除(前提拥有删除的权限) ``` find ./ -name index.php -exec rm {} \; ``` 有提示的删除用ok ``` find . -name index.php -ok rm {} \; ``` 简单地说, -exec或-ok, 将查询到的文件作为参数传递给后面的命令执行, 而参数的位置用{}标识, 即命令中, “**{}**”替换成find查找出来的文件名, 最后”**\\;**”表示**结束符**. ## **实战:** **find**./ -name “\*data\*” -**mtime+1** 当前目录下文件名包含data,而且修改时间在48小时以上的 find ./ -name “\*date\*” -mtime +2 当前目录下文件名包含data,而且修改时间在72小时以上的 find ./name “\*data\*” -mtime -1 当前目录下文件名包含data,而且修改时间在24小时以内的 find ./name “\*data\*” -mtime -2 当前目录下文件名包含data,而且修改时间在48小时以内的 find ./name “\*data\*” -mtine 1 当前目录下文件名包含data,而且修改时间在1天前当天的,也就是24小时以上,48小时以内