我有很多托管在共享主机环境中的 wordpress 网站。与每个 wordpress 网站一样,它们都有“uploads”目录。我想定期搜索这些文件夹中的潜在恶意文件,但我当然不想一个接一个地搜索。
所以问题是我如何在所有“上传”目录中搜索扩展名为“.php”的文件
例如:
find . -type d -iname "uploads"
获取我的根目录中的所有“上传”文件夹,但我还想在这些目录中进行搜索
答案1
可以将命令的输出通过管道传输到另一个命令,但你可以同时搜索两个条件,使用grep
和常用表达:
find . -type f | grep -i "/uploads/.*\.php$"
怎么运行的:
find . -type f
列表全部当前目录及其子目录中的文件。grep -i "/uploads/.*\.php$"
过滤输出:-i
使搜索不区分大小写/uploads/.*\.php$
是一行必须匹配才能显示的正则表达式/uploads/
php
正是.*
是任意类型字符的任意出现次数\.
是文字.
$
标志着行尾
您可以使用以下方法获得相同的结果
find . -type f -iregex ".*/uploads/.*\.php"
grep
但是如果您了解、Perl、PHP、JavaScript 等的正则表达式,那么语法就会很麻烦。