目前,我正在通过虚拟环境沉浸式学习Linux,并负责按内容查找文件。用户是root,rwx权限(777我相信)。我尝试了许多无用的东西,但它们基本上都是根植于变体
~$ find / -user root -perm 777 | grep "phrase to be found"
到目前为止,我已经成功地检索了大量被拒绝的权限消息。我不能使用sudo命令,因为我没有sudo密码(虚拟环境)。有可能需要使用执行标志和/或管道2>,但我没有成功地与那些玩,并希望有更好的智慧的人可能能够提供帮助。
find
将“权限被拒绝”消息写入stderr,因此您可以通过将消息转发给/dev/null
来丢弃来自stderr的消息。
find / -user root -perm 777 2> /dev/null | grep "phrase to be found"
应该做的伎俩,其中2>
是stderr的重定向。
正如shellter指出的那样,在你的例子中,你要求grep搜索文件名本身的短语,而不是那些文件的内容。我认为你在寻找的是:
grep -Rsl "phrase to be found" /
输出将是一个文件名列表,在其内容的某处有“要查找的短语”,但仅适用于您有权阅读的文件。要读取所有文件,您需要以root身份运行相同的命令。