grep 设备上的整个文件系统块

TaX*_*XoR 3 shell grep search pfsense

命令

grep -rHinF --colour=always -e "aa:aa:aa:aa" /
Run Code Online (Sandbox Code Playgroud)

输出

grep: /dev/geom.ctl: Operation not supported by device
grep: /dev/devctl: Device busy
Run Code Online (Sandbox Code Playgroud)

似乎grep无法继续,因为它正在等待设备。如何跳过此类设备?

gol*_*cks 6

如果find可用,请尝试:

find / -type f -exec grep -rHinF --colour=always -e "aa:aa:aa:aa" {} +
Run Code Online (Sandbox Code Playgroud)

这仅适用于常规文件,因此它将跳过块设备和字符设备。见man find

您可能想跳过像/proc或这样的目录/sys;正如 Stephane Chazelas 在评论中指出的那样,当您阅读它们时,其中的某些文件会被阻止(保持打开状态,暂停搜索)。为此,您可以尝试-xdevaka。-mount指令,假设文件系统的其余部分在一个设备上。如果该-fstype指令对您有用,那会更好(不幸的是,它在 linux 上对我不起作用)。

IMO,而不是摆弄这个,您应该只对您真正想要搜索的任何顶级目录重复该过程,而不是尝试一次性完成所有操作(在这种情况下您可能不需要查找...)