Ich muss einige Konfigurationen finden, die in einigen versteckten Ordnern vergraben sind, und kann mich nicht erinnern, wo sie direkt zu ihnen navigieren sollen Cmd+ Shift+ G.
Ich habe a sudo find -name Foo*
(langsam) gemacht, aber keine der zurückgegebenen Dateien befand sich in versteckten Ordnern.
Was ist der einfachste Weg, um alle versteckten Dateien zu durchsuchen?
mdfind
scheint viele versteckte Dateien zu ignorieren. mdfind 'kMDItemFSInvisible==1&&kMDItemFSName==filename'
listet .DS_Store
Dateien auf, aber nicht zum Beispiel .bash_history
. Ich habe keine Möglichkeit gefunden, in einigen versteckten Verzeichnissen wie /private/etc/
.
Auf jeden Fall ist Find Any File viel 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 verwendet es keine Datenbank, sondern verwendet die schnellen Suchoperationen des Dateisystemtreibers, sofern verfügbar. Auf diese Weise können Sie nach Dateieigenschaften wie Name, Datum, Größe usw. suchen, aber nicht nach Dateiinhalten (verwenden Sie dafür Spotlight oder EasyFind).
- Find Any File kann Dateien finden, die Spotlight nicht findet, z. B. solche in Bundles und Paketen und in Ordnern, die normalerweise von der Spotlight-Suche ausgeschlossen sind.
- Schließlich ist es ziemlich schnell. Auf einer internen Festplatte oder SSD dauert eine Suche nur wenige Sekunden. Probieren Sie es selbst aus!
Angenommen, Sie meinen mit „versteckte Datei“ Dateien, deren Name mit einem Punkt beginnt oder die sich irgendwo unter einem Verzeichnis befinden, dessen Name mit einem Punkt beginnt, und keine anderen Formen von unsichtbaren Dateien , gibt der folgende Befehl die Namen aller versteckten Dateien aus. Es ist langsam, da es 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
wird find
in jedem Verzeichnis ausgeführt (dessen Name mit übereinstimmt .*
) und überspringt den Abstieg in dieses Verzeichnis aufgrund der -prune
.-type d … -o -print
bewirkt, dass alle übereinstimmenden Nicht-Verzeichnisse .*
gedruckt werden.Wenn Sie nach einer Datei mit einem bestimmten Namen oder Muster suchen:
sudo find / -name 'Foo*' -path '*/.*'
Das */.*
Muster auf dem gesamten Pfad erzwingt Übereinstimmungen unter einem versteckten Verzeichnis.
Möglicherweise möchten Sie nach -xdev
dem hinzufügen /
, um zu vermeiden, dass spezielle Dateisysteme und Wechseldatenträger durchlaufen werden.
Probieren Sie den locate
Befehl aus. Sie müssen sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
zuerst warten, bis die Lokalisierungs-DB generiert wird.
EasyFind ist eine ausgezeichnete alternative App, um die Arbeit zu erledigen. Es ist kostenlos und einfach. Sie können in Dateien (sogar unsichtbaren) nach Text suchen. <= Dies ist möglicherweise eine einfachere Möglichkeit, Ihre Konfigurationsdateien zu finden.
Sie erhalten es im App Store https://itunes.apple.com/us/app/easyfind/id411673888?mt=12
Haftungsausschluss: Ich bin nicht mit dem Entwickler verbunden.
ag kann versteckte Dateien anhand des Dateinamens durchsuchen.
Zum Beispiel:
ag --hidden -g ".swiftlint.yml" ~/
Wie installiert man
brew install the_silver_searcher
https://github.com/ggreer/the_silver_searcher
rg ist schneller als ag.
rg --files --hidden ~/ |rg ".swiftlint.yml"
Wie installiert man
brew install ripgrep
Wenn Sie versteckte .DS_Store- Dateien suchen möchten, funktioniert dieser Befehl gut.
du -a | grep .DS_Store
Chris Page
sudo
ist nicht erforderlich, es sei denn, Sie müssen in Verzeichnissen suchen, auf die Sie keinen Zugriff haben. Die Suche in versteckten Verzeichnissen erfordert keine erhöhten Berechtigungen, falls dies der Grund dafür ist, dass es in Ihrem Beispiel verwendet wird.