Linux发现命令权限被拒绝

时间:2016-05-27 23:44:52

标签: shell find

我想过滤掉不必要的信息" Permission denied"。 这些是来自命令" find -type f -name sources.list"

的输出
find: './run/lxcfs': Permission denied
find: './run/sudo': Permission denied
find: './run/lvm': Permission denied
find: './tmp/systemd-private-99eef94819d84080adc7df3e60efee5b-systemd-timesyncd.service-HE48k9': Permission denied
find: './lost+found': Permission denied
find: './dev/vboxusb': Permission denied
find: './root': Permission denied
./etc/apt/sources.list
find: './etc/sudoers.d': Permission denied

我尝试使用" ! -readable -prune"结合上面的find命令来抑制" Permission denied"信息,但它仍然无法运作。

4 个答案:

答案 0 :(得分:3)

尝试以下

find -type f -name sources.list 2>/dev/null

这将重定向stderr输出流,用于将所有错误(包括“拒绝访问”)报告给空设备。

答案 1 :(得分:3)

这样的事情应该有效

find -type d ! -readable -prune -o -type f -name sources.list

答案 2 :(得分:1)

以下对我有用:

find / -mount -readable -name "<whatever>" -print

这里我只想搜索根文件系统,而不是下载到任何已安装的文件系统。因此 - 安装。

抛出错误的问题文件无法读取(产生&#34;权限被拒绝&#34;)。因此可读。

其余的很明显。

(注意:在Ubuntu 16.04中,/ var / lib / lxcfs中的文件是不可读的,即使对于root。以上解决了我的问题。)

答案 3 :(得分:-1)

首先,您可以在

的帮助下检查文件夹的ACL
getfacl -R /foldername

如果对特定文件夹有读取权限,则运行;

find foldername -type f -name sources.list

否则 跳过命令