如何仅查找“已授予权限”的文件

如何仅查找“已授予权限”的文件

我正在尝试查找我可以编辑的文件,我尝试了以下命令,但仍然得到“权限被拒绝”的结果。

find -name "*.config" | grep -v "Permission denied"

find -name "*.config" -perm /u+rw

我仍然可以看到如下结果:

find: `./proc/32609/task/32616/ns': Permission denied

答案1

当然可以通过重定向过滤掉权限被拒绝的错误2> /dev/null,因为它是错误流的输出。

find -name "*.config" -perm /u+rw 2> /dev/null

但也有一个好主意是排除那些给您带来问题的目录-path /some/dir/*pattern -prune -o -print

 find /  -path "./proc*" -prune -o -name "*.config"  -print 2> /dev/null

还应该能够使用逻辑或运算符排除多个目录-o并分组到\( ... \)括号中

find / -maxdepth 1 \( -not -path /etc* \) -o \( -not -path /var* \) -o \( -not -path /proc* \) -o \( -perm /u+rw -name "*.config" \)

相关内容