690332

Linux: In Sekundenschnelle Dateien finden

Den Überblick über die eigenen Dateien auf dem PC kann man bei richtiger Organisation vielleicht noch behalten. Dagegen wird es bei den Systemdateien schnell unübersichtlich, besonders unter Linux: Wer einmal an der deutschen Tastaturbelegung unter X-Window herumkonfiguriert hat, weiß eventuell noch, dass die zuständige Datei "de" heißt und irgendwo im Pfad "xkb/symbols" vorkam. Damit ist sie aber noch nicht gefunden. Wir zeigen Ihnen, wie in Linux flott Dateien finden können.

Anforderung:

Fortgeschrittener

Zeitaufwand:

Mittel

Problem:

Den Überblick über die eigenen Dateien auf dem PC kann man bei richtiger Organisation vielleicht noch behalten. Dagegen wird es bei den Systemdateien schnell unübersichtlich, besonders unter Linux: Wer einmal an der deutschen Tastaturbelegung unter X-Window herumkonfiguriert hat, weiß eventuell noch, dass die zuständige Datei "de" heißt und irgendwo im Pfad "xkb/symbols" vorkam. Damit ist sie aber noch nicht gefunden.

Lösung:

Für die schnelle Suche gibt es das Paket "findutils", das meist standardmäßig installiert ist. Mit dem darin enthaltenen Kommandozeilen-Tool "locate" finden Sie in Sekundenschnelle jede Datei, von der Sie noch einen Namensbestandteil wissen. Wenn Sie etwa

locate xkb

eingeben, erscheinen alle Dateien, die irgendwo im Datei- oder Pfadnamen "xkb" haben. Wildcards sind dabei nicht erforderlich. Bei einer Angabe von nur drei Buchstaben findet das Tool allerdings viel zu viele Dateien. Mit dem Parameter -b grenzen Sie die Suche so ein, dass nur in Datei-, nicht aber im Pfadnamen gesucht wird. Mit "|grep <Suchbegriff>" werden nur die Zeilen ausgegeben, die den Suchbegriff enthalten.

locate -b de |grep xkb/symbols

Das ergibt 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, die im Prinzip eine Erweiterung des Wildcard-Prinzips über die Zeichen "*" und "?" hinaus sind. So steht ein Punkt in regulären Ausdrücken für ein beliebiges Zeichen, ein Stern nach einem Zeichen legt fest, dass dieses beliebig oft auftreten kann, aber nicht muss. Soll es mindestens einmal erscheinen, verwenden Sie ein Pluszeichen anstelle des Sterns. Mit "^" kennzeichnen Sie den Anfang einer Zeile, mit "$" ihr Ende. Die Verwendung regulärer Ausdrücke durch "locate" schalten Sie ein, indem Sie den Parameter -r setzen:

locate -r xkb/symbols.*de$

Der Befehl "man 7 regex" liefert eine einführende Dokumentation zu den regulären Ausdrücken, die nicht nur für "locate", sondern auch sonst auf der Kommandozeile in vielen Befehlen sehr nützlich sind.

0 Kommentare zu diesem Artikel
690332