如何使用终端搜索隐藏文件夹中的所有隐藏文件?


10

我需要找到埋藏在一些的隐藏文件夹一些CONFIGS并不能回忆起他们来找到它们直接Cmd+ Shift+ G

我做了一个sudo find -name Foo*(慢),但是返回的文件都不在隐藏的文件夹中。

搜索所有隐藏文件的最简单方法是什么?


注意:sudo除非需要在您无权访问的目录中进行搜索,否则不需要使用。在隐藏目录中搜索不需要提升的特权,如果这就是在您的示例中使用的原因。
克里斯·佩奇

Answers:


15

mdfind似乎忽略了很多隐藏文件。mdfind 'kMDItemFSInvisible==1&&kMDItemFSName==filename'会列出.DS_Store文件,但不会列出.bash_history。我尚未找到任何方法来搜索某些隐藏目录(例如)中的文件/private/etc/

无论如何,“ 查找任何文件”比“ 查找文件”快得多find

“查找任何文件”是Mac OS X的程序,可让您搜索磁盘上的文件。

  • 与Spotlight相反,它不使用数据库,而是使用文件系统驱动程序的快速搜索操作(如果有)。这使您可以搜索文件属性,例如名称,日期,大小等,但不搜索文件内容(为此使用Spotlight或EasyFind)。
  • “查找任何文件”可以找到Spotlight无法找到的文件,例如,捆绑包和软件包内的文件以及通常被Spotlight搜索排除的文件夹内的文件。
  • 最后,它非常快。在内部硬盘或SSD上搜索只需几秒钟。自己尝试!

6

假设“隐藏文件”是指名称以点开头的文件,或者位于名称以点开头的目录下某处的文件,而不是其他形式的不可见文件,则以下命令将显示所有隐藏文件的名称。它遍历系统上所有位置的所有文件名时很慢。

sudo find / -name '.*' \( -type d -exec find {} \; -prune -o -print \)

说明:

  • -type d -exec find {} \; -prune执行find对每一个(他的名字相匹配的目录.*),并跳过降入因为该目录-prune
  • -type d … -o -print导致.*打印所有匹配的非目录。

如果要查找具有特定名称或模式的文件:

sudo find / -name 'Foo*' -path '*/.*'

*/.*对整个路径势力模式匹配是一个隐藏目录下。

您可能要在-xdev之后添加,/以避免遍历特殊的文件系统和可移动磁盘。


嗯谢谢 看起来-x现在是首选,因为-xdev已过时。
Old McStopher,2012年

4

尝试locate命令。您将必须sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist首先等待生成定位数据库。


3
如此麻烦,Spotlight不会选择隐藏的/(点)文件,因为mdfind远远优于slocate。
杰森·萨拉兹

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.