我经常尝试查找具有以下语法的文件:
find . -name "filetofind"
但是,它通常会导致有关拒绝权限的文件夹的行数或错误报告(拒绝权限)。除了使用 sudo 或从错误输出中进行高级 grepping 之外,还有其他方法可以避免这种垃圾邮件吗?
答案1
尝试
find . -name "filetofind" 2>/dev/null
这会将stderr
用于报告所有错误(包括“拒绝访问”错误)的输出流重定向到空设备。
答案2
您还可以使用-perm
and-prune
谓词来避免进入不可读的目录(另请参阅如何从查找程序中删除“权限被拒绝”打印输出语句? - Unix&Linux Stack Exchange):
find . -type d ! -perm -g+r,u+r,o+r -prune -o -name "filetofind" -print
答案3
如果您想查看其他错误并且没有名为“权限被拒绝”的文件,那么这将“更好”。
find . -name "filetofind" 2>&1 | grep -v 'permission denied'
使用反转选项将输出重定向到 grep。