Findutils

Aus PC-WELT-Wiki

Wechseln zu: Navigation, Suche

Für die schnelle Suche nach Dateien auf der Kommandozeile gibt es unter Linux das Paket findutils, das üblicherweise bereits standardmäßig installiert ist. Mit Hilfe des darin enthaltenen Kommandozeilenprogrammes locate finden Sie jede Datei, von der Sie noch einen Namensbestandteil wissen, in Sekundenschnelle Beispiel:

  locate xkb

So erscheinen alle Dateien, die irgendwo im Datei- oder Pfadnamen xkb haben. locate ist deshalb schneller als eine normale Suche, weil es seine Informationen aus einer Indexdatei bezieht. Linux aktualisiert diese Indexdatei täglich. Je nach Distribution kann die Indexdatei anders heißen und woanders liegen. Den Namen und Pfad für Ihr System sowie die Anzahl de indizierten Dateien und andere Informationen erhalten Sie mit dem Befehl

  locate --statistics

Bei der Suche ist die Angabe von Wildcards nicht erforderlich. Bei einer Angabe von nur drei Buchstaben findet das Tool allerdings viel zu viele Dateien. Sie grenzen sie Suche ein, indem Sie etwa nach de nur im Datei-, nicht aber im Pfadnamen suchen, was der Parameter -b bewirkt und filtern die Ausgabe so, dass nur noch die Zeilen ausgegeben werden, die xkb/symbols enthalten:

  locate -b de |grep xkb/symbols

Das sind schon bedeutend weniger Treffer, so dass Sie die gesuchte Datei bereits erkennen können. Die hohe Kunst des Suchens besteht allerdings in der Verwendung regulärer Ausdrücke, was Sie durch den Parameter -r bewirken:

  locate -r xkb/symbols.*de$

Der Befehl man 7 regex liefert eine einführende Dokumentation zu regulären Ausdrücken, die im Prinzip eine Erweiterung des Wildcard-Prinzips über die Zeichen * und ? hinaus sind. Sie sind nicht nur für locate, sondern auch sonst auf der Kommandozeile sehr nützlich.

Suse: Nachinstallation
Suse tanzt leider mal wieder aus der Reihe: Hier sind findutils standardmäßig nicht installiert. Sie befinden sich aber im Lieferumfang, so dass Sie sie per YaST nachinstallieren können.

Fedora Core 3/4: Automatische aktualisierung
Bei FC3/FC4 ist die Aktualisierung standardmäßig zunächst ausgeschaltet. Sie aktivieren sie, indem Sie in der Datei /etc/updatedb.conf in der Zeile

  DAILY_UPDATE=no

das no auf yes ändern.