Dateien suchen mit locate

Um mit Linux Dateien auf dem Rechner zu suchen gibt es verschiedene Möglichkeiten. Eine dieser Möglichkeiten ist das Tool locate in der Shell. Besonderes Merkmal von locate: sehr schnell. Beim ersten Aufruf von locate kann es aber passieren, das locate zunächst die Arbeit verweigert.

Mit locate suchen erfolgt in der Shell mit dem Kommando locate. Beispiel:

locate irgendwas

Unter Umständen erhält man bei erstmaliger Verwendung von locate folgende Fehlermeldung:

warning: locate: could not open database: /var/lib/slocate/slocate.db: No such file or directory

Das bedeutet, die Suche kann nicht starten weil die dafür notwendige Datenbank nicht existiert und das System noch nicht indiziert wurde. Nicht alle Linux Distributionen reagieren mit diesem "Fehler". Bei manchen wird im Rahmen der Installation bereits die Datenbank erstellt und eine Indizierung durchgefürt, so das man bereits unmittelbar nach der Installation ohne weitere Umstände suchen kann.

Die locate-Datenbank anlegen:

touch /var/lib/slocate/slocate.db

Dann die Indizierung durchführen mit:

updatedb

Dies kann einen Moment dauern. Ist die Indizierung erfolgt hat man mit locate eine sehr schnelle Suche nach Dateien und Ordnern zur Verfügung.

Wenn man nicht durch ein Cronscript ausgelöst eine regelmäßige Indizierung organisiert, wird man von Zeit zu Zeit bei der Verwendung von locate daran erinnert, daß die Datenbank eine gewisse Anzahl von Tagen alt ist. Bei einigen Distributionen kann man in diesem Fall erst dann suchen, wenn eine erneute Indizierung durchgeführt wurde.

Powered by Drupal. Created with ZenWalk.