最近在使用find命令查找文件时发现,很多Permission denied 错误。使用 grep -v 方式不能处理。例如:
find /var/folders -name sparkJars.txt
得到的结果如下:
find: /var/folders/y8/rztx6q994k383p8rl1l3l5000000gp/0/SafariFamily: Operation not permitted
find: /var/folders/y8/rztx6q994k383p8rl1l3l5000000gp/0/com.apple.LaunchServices.dv: Operation not permitted
find: /var/folders/y8/rztx6q994k383p8rl1l3l5000000gp/0/com.apple.nsurlsessiond: Operation not permitted
find: /var/folders/y8/rztx6q994k383p8rl1l3l5000000gp/0/com.apple.routined: Operation not permitted
/var/folders/y8/rztx6q994k383p8rl1l3l5000000gp/T/sparkJars.txt
find: /var/folders/zz/zyxvpxvq6csfxvn_n00000b000002r/T: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n00000b000002r/C: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n0000104000081/T: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n0000104000081/C: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n000010r000086/T: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n000010r000086/C: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n00000sm00006d/T: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n00000sm00006d/C: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n00000b400002s/T: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n00000b400002s/C: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n00000y000007h/T: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n00000c4000031/T: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n00000c4000031/C: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n00000yc00007l/T: Permission denied
find: /var/folders/zz/zyxvpxvq6csfxvn_n000003000000r/T: Permission denied
明明只有一个结果,但是一大堆的错误信息,而且还过滤不掉,这样很麻烦。
解决方案:把错误信息写入到 /dev/null 里,这样就把错误过滤掉了。
rule-engine adorechen$ find /var/folders -name sparkJars.txt 2>/dev/null
/var/folders/y8/rztx6q994k383p8rl1l3l5000000gp/T/sparkJars.txt
参考: