Linux 如何在grep中使用sudoers和正则表达式

Linux 如何在grep中使用sudoers和正则表达式,linux,grep,sudo,Linux,Grep,Sudo,我正在尝试对目录/var/log/application/archived/ 我有sudo权限。像下面这样的尝试给了我错误 sudo grep 'checkThis' /var/log/application/archived/*.log 错误 我试过使用escape char,但似乎不起作用 如果我给任何一个文件名而不是*它会给我结果 例如:sudo grep'checkThis'/var/log/application/archived/firstLogFile.log这会给我预期的响应使

我正在尝试对目录
/var/log/application/archived/

我有sudo权限。像下面这样的尝试给了我错误

sudo grep 'checkThis' /var/log/application/archived/*.log
错误

我试过使用escape char,但似乎不起作用

如果我给任何一个文件名而不是*它会给我结果


例如:
sudo grep'checkThis'/var/log/application/archived/firstLogFile.log
这会给我预期的响应

使用下面的命令对所有具有sudo访问权限的日志文件进行grep


sudo sh-c“grep'stringToSearch'/var/log/archived/*.log”

使用下面的命令对具有sudo访问权限的所有日志文件执行grep


sudo sh-c“grep'stringToSearch'/var/log/archived/*.log”

为什么不能递归地grep
存档的
目录?您甚至可以
cd
到该目录吗?不,我不能对那个目录做cd。它说
sudo:cd:command-not-found
您不需要为每一条命令都使用sudo该消息清楚地表明该路径的某些部分不存在:文件夹本身或它不包含任何.log文件。Sudo访问不是魔术。在文件夹上运行ls会产生什么结果?为什么不能递归地grep
存档的
目录?甚至可以
cd
到该目录?不,我不能对那个目录做cd。它说
sudo:cd:command-not-found
您不需要为每一条命令都使用sudo该消息清楚地表明该路径的某些部分不存在:文件夹本身或它不包含任何.log文件。Sudo访问不是魔术。在文件夹上运行ls会产生什么结果?
grep: /var/log/application/archived/*.log: No such file or directory