Ich muss einige Konfigurationen finden, die in versteckten Ordnern vergraben sind, und kann mich nicht erinnern, wo sie direkt zu ihnen navigieren sollen. Cmd + Shift + G .

Ich habe eine sudo find -name Foo* (langsam) durchgeführt, aber keine der zurückgegebenen Dateien befanden sich in versteckten Ordnern.

Wie lassen sich alle versteckten Dateien am einfachsten durchsuchen?

Kommentare

  • Hinweis: Verwenden sudo ist nicht erforderlich, es sei denn, Sie müssen in Verzeichnissen suchen, auf die Sie keinen Zugriff haben. Für die Suche in versteckten Verzeichnissen sind keine erhöhten Berechtigungen erforderlich, wenn ' s warum in Ihrem Beispiel ' verwendet wird.

Antwort

mdfind scheint viele versteckte Dateien zu ignorieren. mdfind "kMDItemFSInvisible==1&&kMDItemFSName==filename" listet .DS_Store Dateien, aber nicht zum Beispiel .bash_history. Ich habe keine Möglichkeit gefunden, nach Dateien zu suchen s in einigen versteckten Verzeichnissen wie /private/etc/.

Wie auch immer, Find Any File ist eine Menge schneller als find.

Find Any File ist ein Programm für Mac OS X, mit dem Sie nach Dateien auf Ihren Festplatten suchen können.

  • Im Gegensatz zu Spotlight wird keine Datenbank verwendet, sondern der Dateisystemtreiber „s schnelle Suchvorgänge, sofern verfügbar. Auf diese Weise können Sie nach Dateieigenschaften wie Name, Datum, Größe usw. suchen, jedoch nicht nach Dateiinhalten (verwenden Sie dazu Spotlight oder EasyFind).
  • Jede Datei suchen kann Dateien finden, die Spotlight nicht findet B. in Paketen und Paketen sowie in Ordnern, die normalerweise von der Spotlight-Suche ausgeschlossen sind.
  • Schließlich ist dies recht schnell. Eine Suche auf einer internen Festplatte oder SSD dauert nur wenige Sekunden selbst!

Antwort

Angenommen, dies ist durch „versteckt“ Datei ”bedeutet Dateien, deren Name mit einem Punkt beginnt oder die sich irgendwo unter einem Verzeichnis befinden, dessen Name mit einem Punkt beginnt, und nicht andere Formen unsichtbarer Dateien . Der folgende Befehl gibt die Namen aller versteckten Dateien aus. Er ist langsam, da er alle Dateinamen überall auf Ihrem System durchläuft.

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

Erläuterung:

  • -type d -exec find {} \; -prune führt find ein jedes Verzeichnis (dessen Name mit .* übereinstimmt) und überspringt das Absteigen in dieses Verzeichnis aufgrund der -prune.
  • -type d … -o -print bewirkt, dass alle Nichtverzeichnisse gedruckt werden, die mit .* übereinstimmen.

Wenn Sie suchen Für eine Datei mit einem bestimmten Namen oder Muster:

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

Das Muster */.* auf dem gesamten Pfad erzwingt Übereinstimmungen mit befinden Sie sich in einem versteckten Verzeichnis.

Möglicherweise möchten Sie -xdev nach / hinzufügen, um das Durchlaufen spezieller Dateisysteme und zu vermeiden Wechseldatenträger.

Kommentare

  • Ah, danke. Und es sieht so aus, als ob -x jetzt bevorzugt wird, da -xdev veraltet ist.

Antwort

Probieren Sie das locate Befehl. Sie müssen zuerst sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist und warten, bis die Lokalisierungsdatenbank generiert wird.

Kommentare

  • ' ist so störend, dass Spotlight ' keine versteckten / (Punkt-) Dateien aufnimmt, da mdfind dem Slocate weit überlegen ist .

Antwort

EasyFind ist eine hervorragende alternative App, um die Arbeit zu erledigen. Es ist kostenlos und einfach. Sie können nach Text in Dateien suchen (auch in unsichtbaren). < = Dies ist möglicherweise eine einfachere Möglichkeit, Ihre Konfigurationsdateien zu finden.

Sie können es im App Store herunterladen. https://itunes.apple.com/us/app/easyfind/id411673888?mt=12

Haftungsausschluss: Ich bin nicht mit dem Entwickler verbunden.

Kommentare

  • Funktioniert nicht auf APFS-formatierten Laufwerken.

Antwort

ag kann versteckte Dateien nach Dateinamen durchsuchen.

Zum Beispiel:

ag --hidden -g ".swiftlint.yml" ~/ 

So installieren Sie

brew install the_silver_searcher 

https://github.com/ggreer/the_silver_searcher

rg ist schneller als ag.

rg --files --hidden ~/ |rg ".swiftlint.yml" 

So installieren Sie

brew install ripgrep 

https://github.com/BurntSushi/ripgrep

Kommentare

  • Wie hilft dies in der vom OP beschriebenen Situation (der anscheinend ' den Namen der versteckten Dateien nicht kennt)?
  • Es funktioniert auch. Zum Beispiel rg –files –hidden ~ / | rg " .swiftlint * "

Antwort

Wenn Sie .DS_Store versteckte Dateien, dieser Befehl funktioniert gut.

du -a | grep .DS_Store 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.