按内容搜索文件,可能涉及-exec命令和管道2>

问题描述 投票:0回答:2

目前,我正在通过虚拟环境沉浸式学习Linux,并负责按内容查找文件。用户是root,rwx权限(777我相信)。我尝试了许多无用的东西,但它们基本上都是根植于变体

~$ find / -user root -perm 777 | grep "phrase to be found"

到目前为止,我已经成功地检索了大量被拒绝的权限消息。我不能使用sudo命令,因为我没有sudo密码(虚拟环境)。有可能需要使用执行标志和/或管道2>,但我没有成功地与那些玩,并希望有更好的智慧的人可能能够提供帮助。

linux find command exec stderr
2个回答
0
投票

find将“权限被拒绝”消息写入stderr,因此您可以通过将消息转发给/dev/null来丢弃来自stderr的消息。

find / -user root -perm 777 2> /dev/null | grep "phrase to be found"

应该做的伎俩,其中2>是stderr的重定向。


0
投票

正如shellter指出的那样,在你的例子中,你要求grep搜索文件名本身的短语,而不是那些文件的内容。我认为你在寻找的是:

grep -Rsl "phrase to be found" /

输出将是一个文件名列表,在其内容的某处有“要查找的短语”,但仅适用于您有权阅读的文件。要读取所有文件,您需要以root身份运行相同的命令。

© www.soinside.com 2019 - 2024. All rights reserved.