So finden Sie eine Datei anhand ihres Namens unter Linux über das Terminal
Mit find und locate, und wann man welches nutzt.
find / -iname "*bericht*" 2>/dev/null
-iname sucht ohne Unterscheidung von Groß- und
Kleinschreibung (flexibler als -name). Das
2>/dev/null blendet "Zugriff verweigert"-Warnungen bei
Systemordnern aus, auf die Sie keinen Zugriff haben, und lässt nur
nützliche Ergebnisse übrig.
Schneller für den Alltag: locate
sudo apt install mlocate
sudo updatedb
locate bericht
locate ist viel schneller als find, weil
es einen bereits erstellten Index abfragt, statt in diesem Moment die
Festplatte zu durchsuchen — aber aus genau diesem Grund findet es
keine Dateien, die nach der letzten Aktualisierung dieses Index
erstellt wurden (mit updatedb, das automatisch jeden Tag
läuft).
Tipp: Nutzen Sie find, wenn Sie sofort
garantierte Ergebnisse brauchen (einschließlich vor einer Minute
erstellter Dateien); nutzen Sie locate für schnelle
Alltagssuchen, bei denen es nicht darauf ankommt, ob der Index einige
Stunden alt ist.
Häufig gestellte Fragen
Warum findet locate eine Datei nicht, die ich gerade erstellt habe?
Weil locate einen Index abfragt, der sich periodisch aktualisiert (normalerweise einmal täglich), nicht in Echtzeit. Führen Sie 'sudo updatedb' manuell aus, um eine sofortige Aktualisierung zu erzwingen.
Warum zeigt find so viele 'Zugriff verweigert'-Fehler?
Weil es versucht, in Systemordnern zu suchen, auf die Ihr Benutzer keinen Zugriff hat. Das Anhängen von '2>/dev/null' am Ende des Befehls blendet diese Warnungen aus und lässt nur die nützlichen Ergebnisse übrig.