Wie finde ich eine Datei mit locate
in CentOS
unter einem bestimmten Verzeichnis vom Terminal? Suchen Sie die gesamte Datenbank!
Antwort
In der Ausgabe von zumindest unter CentOS 6.5. Sie können jedoch Pseudofunktionalität erhalten, indem Sie einen Suchbegriff ändern. Beispielsweise könnte locate cron
zu viel Ausgabe erzeugen, aber locate "/var/log/cron"
würde die Ergebnisse auf die Elemente in Datenbank, die den Suchbegriffen entspricht. Oder eine Pipe würde funktionieren: locate cron | grep "/var/log/"
Verwenden Sie andernfalls find: find /path/to/search -name "*cron*"
oder ähnliches.
Antwort
locate
scheint keine Option zu haben, aber Sie können trotzdem bestimmte Verzeichnisse mit einem der folgenden Elemente durchsuchen Folgendes:
- Verwenden Sie bei Ihrer Suche Platzhalter. Beispiel:
locate "*/directory/*filename*"
- Verwenden Sie
grep
mitlocate
. Beispiel:locate filename | grep /directory/
- Verwenden Sie den Befehl
find
. Beispiel:find /my/directory/ -name filename
. Sie können Ihre Suche auch auf Verzeichnisse oder Dateien beschränken, indem Sie-type d
oder-type f
anhängen. Um eine Datei mit dem Namen „myScript“ in Ihrem Home-Ordner zu finden, gehen Sie folgendermaßen vor:find ~/ -name myScript -type f
. Dadurch wird nach einer Datei (keine Verzeichnisse) mit dem genauen Namen „myScript“ in Ihrem Basisordner gesucht.