Mac 下查找文件,最简单的方法应该是

mdfind filename

等同于

mdfind -name filename

不过,mdfind 貌似无法查找隐藏文件,比如,你要查找.zshrc,那么,用mdfind .zshrc 将一无所获。

此时,我们还是需要用回 find 命令。但如果我们用

find / -name .zshrc

我们将看到满屏的permission denied,如

... ...
find: /private/var/spool/postfix/hold: Permission denied
find: /private/var/spool/postfix/incoming: Permission denied
find: /private/var/spool/postfix/maildrop: Permission denied
... ...

这不是我们想看到的结果,如何阻止这些 permission denied 信息呢。

主要有以下三种方法:

  • 用管理员权限执行find
sudo find / -name "keyword" -print
  • 丢弃所有错误输出
find / -name "keyword" -print 2>/dev/null
  • 过滤 Permission denied 信息
find / -name "keyword" -print 2>&1 | fgrep -v "Permission denied"

这样,你的查找结果就干净多了! :)