Antworten:
Versuchen:
sudo /usr/libexec/locate.updatedb
Und schauen Sie config:
/etc/locate.rc die Konfigurationsdatei
Bearbeitet:
Post hier Ausgabe:
echo $LOCATE_CONFIG
Und:
cat /etc/locate.rc
Und:
echo $0
Aktualisieren:
Das Suchprogramm durchsucht eine Datenbank nach allen Pfadnamen, die dem angegebenen Muster entsprechen. Die Datenbankdatenbank wird regelmäßig (normalerweise wöchentlich oder täglich) neu berechnet und enthält die Pfadnamen aller Dateien, auf die öffentlich zugegriffen werden kann .
Versuchen Sie mdfind statt finden
Aktualisiert2:
mdfind -name Text, der genauer ist. Nur mdfind Text gibt Ihnen Dateien, die auch Text enthalten. - David Krmpotic
mdfind -name text
mdfind -name text
die genauer ist. Nur mdfind text
gibt Ihnen Dateien , die enthalten Text als auch.
Berechtigungen können der Schuldige sein, da locate anscheinend keine Dateien lesen kann, die nicht weltweit lesbar sind. Weitere Erklärungen finden Sie in dieser Antwort von Plundra .
Das findutils- Paket von homebrew aktiviert gupdatedb
und glocate
befiehlt Befehle, die einige der Einschränkungen der integrierten Dienstprogramme zu überwinden scheinen.
mdutil
macht es Sinn, dies zu überprüfen? Ein Anwendungsfall, den ich mir vorstellen kann, ist, dass ich das erneute Scannen manuell auslösen kann gupdatedb
- mit Spotlight nicht so einfach oder es würde länger dauern (es indiziert auch den Inhalt von Dateien). Gibt es noch andere Vorteile?
updatedb
ist dafür schneller. glocate
scheint kein Problem damit zu haben, Systemdateien zu indizieren, während ich finde, dass mdfind
~ / Library und andere Systemdateien ignoriert werden. Ich finde definitiv, dass ich unter den meisten Umständen mehr Hits mit glocate
Over bekomme mdfind
. YMMV.
sudo gupdatedb
und speicherte dann die glocate Radium
Ausgabe. Dann rannte ich gupdatedb
und es stand : /.Trashes: Permission denied
, das gleiche für einige andere Ordner. Ich habe die Ausgabe für beide verglichen und es war das gleiche! Seltsam ...
sudo gupdatedb
(als Root ausgeführt) und später gupdatedb
als normaler Benutzer ausgeführt, der keinen Zugriff auf die Dateien hat, auf die der Root-Benutzer Zugriff haben würde, was bedeutet, dass Sie diese erhalten würden Erlaubnis verweigert Fehler. Wenn Sie eine vollständige Datenbank mit Dateinamen für Ihr gesamtes System benötigen, führen Sie diese weiterhin als Root aus. Dadurch werden Ihre Dateien anderen Benutzern im System zugänglich gemacht, die den glocate
Befehl möglicherweise verwenden . Aber wenn Sie der einzige Benutzer sind, sollte das in Ordnung sein.
#SEARCHPATHS="/"
in der Konfiguration nicht kommentiert, es hat nicht geholfen.-v
Option scheint keine zusätzliche Ausgabe zu produzieren: /