使用grep查找包含字符串的文件

egi*_*dra 1 unix

我的htdocs文件夹中的.htaccess文件不起作用.我在访问文件名时尝试重定向到Google.我想知道我的httpd.conf的设置在哪里,所以我可以启用mod_rewrite.我做了以下UNIX命令,以查明我的硬盘驱动器上是否存在httpd.conf文件:

find * -name "httpd.conf"
Run Code Online (Sandbox Code Playgroud)

该文件不存在.我想也许还有另一个控制mod_rewrite的文件.我想看看任何目录中是否存在"AllowOverride".我输入了以下UNIX命令:

grep -r "AllowOverride" *
Run Code Online (Sandbox Code Playgroud)

但它很难阅读,因为它打印出这么多文件夹.文件夹附带的消息是"权限被拒绝"或"没有这样的文件或目录".如何只获取包含AllowOverride的文件的文件路径?

sar*_*old 5

许多Unix和类似系统提供了一个locate(1)使用数据库来加速查找单个文件的命令.试试这个:

locate httpd.conf
Run Code Online (Sandbox Code Playgroud)

当然,请注意,Apache配置存储在各种名称的文件中; 我见过apache.conf,httpd.conf,httpd2.conf,然后还有巨桩/etc/apache2/conf.d/-配置Apache预留整个目录结构.您的分发可能会有所不

或许apachectl configtest会显示路径?(目前我的机器上没有安装,所以我不能轻易测试.)