我的服务器不响应到grep
问题描述:
我想我的服务器我的服务器不响应到grep
grep -lr --include=*.php "eval(base64_decode" /path/to/webroot
绝对没有任何反应,没有来自服务器的响应上使用此命令。
任何人都可以帮我吗? 我不是一个有经验的Linux用户。
答
当他们给grep参数递归搜索文件时,GNU人们搞砸了。忘记你曾经听说过的-r
或--include
和重写你的脚本中使用find
到找到的文件和grep
到摹 lobally搜索[R egular Ë上的表达和P RINT(g/re/p
)从结果每个文件(查看工具名称中的巨大线索?)。例如:
find /path/to/webroot -name '*.php' -print0 |
xargs -0 grep -l 'eval(base64_decode'
如果仍然给你一个问题,那么在调试它是运行在它自己的find
,看看它产生的文件列表步骤1。如果是这样,那么步骤2是在find
输出的文件之一上单独运行grep
。如果你无法从中发现,请告诉我们。
请查看[editing-help](http://stackoverflow.com/editing-help)。 – Cyrus
首先要理解你的问题,消除那些奇特的论点。你可以得到'grep“eval(base64_decode”/ path/to/webroot/subdir/one_phpFileOnly.php“)吗?(只需要搜索一个文件就可以了)我敢打赌它不起作用,那么' grep“eval”/ path/to ... oneFileOnly.php'?我敢打赌,它可能是'('char。grep“eval [(] base ...”....''?否则'grep“eval [\()base ...)''一旦这个工作正常,那么你可以去寻求更通用的解决方案并加回其他的参数。祝你好运。 – shellter