ターミナルを使用して隠しフォルダーにあるすべての隠しファイルを検索するにはどうすればよいですか?


10

いくつかの隠しフォルダに埋め込まれた構成を見つける必要があり、直接どこに移動するかを思い出せませんCmd+ Shift+ G

私がやったsudo find -name Foo*(遅い)が、返されたファイルのどれもが隠しフォルダではなかったです。

すべての隠しファイルを検索する最も簡単な方法は何ですか?


注:sudoアクセス権のないディレクトリを検索する必要がない限り、使用は不要です。隠しディレクトリでの検索では、例で使用されているのであれば、昇格された特権は必要ありません。
クリスページ

回答:


14

mdfind多くの隠しファイルを無視しているようです。ファイルをmdfind 'kMDItemFSInvisible==1&&kMDItemFSName==filename'リストし.DS_Storeますが、例はありません.bash_history。のようないくつかの隠しディレクトリでファイルを検索する方法が見つかりませんでした/private/etc/

とにかく、ファイルの検索は、よりもはるかに高速ですfind

Find Any FileはMac OS X用のプログラムで、ディスク上のファイルを検索できます。

  • Spotlightとは異なり、データベースを使用せず、ファイルシステムドライバーの高速検索操作を使用します(可能な場合)。これにより、名前、日付、サイズなどのファイルプロパティを検索できますが、ファイルコンテンツは検索できません(そのためにはSpotlightまたはEasyFindを使用してください)。
  • Find Any Fileは、Spotlightが検出しないファイル(バンドルやパッケージ内、および通常Spotlight検索から除外されるフォルダー内など)を検出できます。
  • 最後に、それは非常に高速です。内蔵ハードディスクまたはSSDでの検索には数秒しかかかりません。ぜひお試しください!

6

「隠しファイル」とは、名前がドットで始まるファイル、または名前がドットで始まるディレクトリの下のどこかにあり、他の形式の非表示ファイルではないという意味で、次のコマンドはすべての隠しファイルの名前を出力します。システムのあらゆる場所にあるすべてのファイル名を調べていくのは遅いです。

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

説明:

  • -type d -exec find {} \; -prunefind(名前がと一致する.*)すべてのディレクトリで実行され、のため、そのディレクトリへの降順をスキップし-pruneます。
  • -type d … -o -print一致.*するすべての非ディレクトリを印刷します。

特定の名前またはパターンのファイルを探している場合:

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

*/.*パス全体のパターンにより、一致は強制的に非表示のディレクトリの下に置かれます。

特殊なファイルシステムやリムーバブルディスクを通過しないよう-xdevに、の後に追加することもでき/ます。


ああ、ありがとう。また、-xdevは非推奨であるため、現在は-xが推奨されているようです。
Old McStopher

4

locateコマンドを試してください。あなたはする必要がありますsudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist最初と探しDBが生成されるのを待ちます。


3
mdfindはslocateよりもはるかに優れているため、Spotlightが隠しファイル((ドット))を取得しないのは非常に厄介です。
ジェイソンサラズ

2

EasyFindは、仕事を完了するための優れた代替アプリです。無料で簡単です。ファイル内のテキストを検索できます(非表示のテキストも含む)。<=これは、設定ファイルを見つける簡単な方法かもしれません。

App Store https://itunes.apple.com/us/app/easyfind/id411673888?mt=12から入手でき ます。

免責事項:私は開発者とは提携していません。


APFSフォーマットのドライブでは機能しません。
Victor Engel
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.