grep 在通过 spool/postfix 搜索后锁定

grep 在通过 spool/postfix 搜索后锁定

我正在尝试搜索文本字符串在文件内在我的服务器上,使用以下命令:

grep -iRl "database_password" /

但!它似乎在浏览后缀目录后挂起。

这是我在屏幕上看到的最后一个:

grep: /var/spool/postfix/private/relay: No such device or addressgrep: /var/spool/postfix/private/policyd-spf: No such device or address
grep: /var/spool/postfix/private/discard: No such device or address
grep: /var/spool/postfix/private/proxywrite: No such device or address
grep: /var/spool/postfix/private/virtual: No such device or address
grep: /var/spool/postfix/public/qmgr: No such device or address
grep: /var/spool/postfix/public/cleanup: No such device or address
grep: /var/spool/postfix/public/flush: No such device or address
grep: /var/spool/postfix/public/postlog: No such device or address
grep: /var/spool/postfix/public/pickup: No such device or addressgrep: /var/spool/postfix/public/showq: No such device or address

然后什么都没有..我可以使用 Ctrl-C 来停止它。

所以我想知道两件事,为什么它“似乎”停止了? (等了两个多小时),为什么 grep 报告“没有这样的设备或地址“仅在这些目录上?它没有说任何有关其他目录的信息?

答案1

...为什么 grep 在...这些目录上报告“没有这样的设备或地址”?

这些不是目录,它们是 Unix 域套接字:

# file /var/spool/postfix/public/pickup
/var/spool/postfix/public/pickup: socket

当尝试从此类文件中读取时,您看到的消息并不意外,并且不太可能与您认为的grep“挂起”相关。

...它似乎在浏览后缀目录后自行挂起。

需要考虑的一件事是,下面的文件/将返回无限的字节流(例如,/dev/urandom)。有可能grep正在读取这些文件之一来查找您的模式。

例如考虑:

# grep $(uuidgen) /dev/urandom

这可能会运行真的很久。

我建议您对目标搜索目录更有选择性。

相关内容