Gesucht, gefunden – find
Zu Befehl
Führ mich aus!
Außer den beiden Aktionen -prune und -print ist besonders -exec kommando ; hilfreich. Man kann so schnell und praktisch ein Kommando für alle gefundenen Dateien ausführen. Möchte man z.B. alle Dateien, die auf ~ enden, löschen, kann man find direkt auf diese Weise mit rm verbinden: find -name '*~' -exec rm '{}' ';'. Hier sollte man beachten, dass die geschweiften Klammern den gerade gefundenen File-Namen enthalten. Da geschweifte Klammern für viele Shells besondere Bedeutung haben, muss man sie z.B. durch Apostrophe vor einer Interpretation durch die Shell schützen. Dieses gilt auch für das Semikolon (;), das für das -exec-Kommando obligatorisch ist und dieses abschließt.
Gerade in Zusammenhang mit rm sollte man sich vielleicht erst das Ergebnis vom find-Aufruf ohne -exec anschauen und in einem zweiten Schritt die Befehle verbinden. Eine sinnvolle Kombination ist der Aufruf von find zusammen mit einem -exec grep, das nach Zeichenketten suchen kann.
Übrigens: Es ist nicht schlimm, wenn Sie vielleicht nicht sofort alle hier aufgezeigten Parameter des find-Befehls verinnerlichen können - auch wenn Sie anfänglich nur die elementarsten Parameter erlernen, werden Sie verschollene Dateien mit geringem Zeitaufwand finden.
Glossar
Wildcards
Sonderzeichen, die Teile von Zeichenketten unbestimmt lassen. Ein Fragezeichen ? in einer Zeichenkette lässt nur denjenigen Buchstaben dieser Zeichenkette unbestimmt (z.B. h?llo ==> hallo, hGllo, h7llo,…), an dem sich das Fragezeichen befindet, während ein * für beliebig viele verschiedene Zeichen steht (z.B. G*ss ==> Guss, Genuss).
ctime
Das ext2-Dateisystem von Linux speichert eine Vielzahl von Dateiinformationen ab, die als Suchkriterien dienen können, z.B. die Zeit (jeweils ausgedrückt als ein Vielfaches von 24 Stunden), die seit dem letzten Dateizugriff (atime), der letzten Statusänderung (ctime) oder der letzten Dateiinhaltsänderung (mtime) vergangen ist.



