我想过滤掉不必要的信息"权限被拒绝"。
这些是命令"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命令一起使用来抑制"权限被拒绝"信息,但它仍然不起作用。
可能的重复如何从"查找"中排除所有"权限被拒绝"的消息?
这样的事情应该有效
find -type d ! -readable -prune -o -type f -name sources.list
尝试以下方法
find -type f -name sources.list 2>/dev/null
这将重定向stderr输出流,用于将所有错误(包括"拒绝访问")报告给null设备。
非常感谢,而不是重定向流,是否可以绕过那些我没有读取权限的文件夹?
不确定,但是,afaik,不!
以下对我有用:
find / -mount -readable -name"" -print
在这里,我只想搜索根文件系统,而不是下载到任何已安装的文件系统中。 因此 - 安装。
抛出错误的问题文件无法读取(产生"权限被拒绝")。 因此可读。
其余的很明显。
(注意:在Ubuntu 16.04中,/ var / lib / lxcfs中的文件是不可读的,即使是root。以上解决了我的问题。)
首先,您可以在帮助下检查文件夹的ACL
getfacl -R /foldername
如果读取权限是特定文件夹,则运行;
find foldername -type f -name sources.list
其他
跳过命令