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

时间:2018-09-05 14:57:24

标签: linux find command exec stderr

目前,我是通过虚拟环境浸入式学习Linux的,他们的任务是按内容查找文件。用户是root用户,所有用户都有rwx权限(我相信是777)。我尝试了很多方法都无济于事,但它们基本上都植根于

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

到目前为止,我已经成功地检索了大量的拒绝权限消息。我没有sudo密码(虚拟环境),因此无法使用sudo命令。可能需要对执行标志和/或管道2>进行某些使用,但我未能成功地使用它们,并希望具有更好的敏锐度的人能够提供帮助。

2 个答案:

答案 0 :(得分:0)

“ {permit被拒绝”消息是由find写入stderr的,因此您可以通过将消息转发到/dev/null来丢弃stderr中的消息。

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

应该可以解决问题,其中2>是stderr的重定向。

答案 1 :(得分:0)

正如shellter所指出的,在您的示例中,您要让grep根据文件名本身而不是这些文件的内容来搜索短语。我认为您正在寻找的是:

grep -Rsl "phrase to be found" /

输出将是文件名列表,这些文件名的内容中有“待找到的短语”,但仅适用于您有权读取的文件。要读取所有文件,您需要以root身份运行相同的命令。