Linux/find
find
Mit dem find-Befehl kann man nach Dateien und Verzeichnissen suchen und sie nach bestimmten Kriterien filtern. Außerdem kann man bestimmte Aktionen, wie zum Beispiel löschen oder umbenennen durchführen.
Wenn man find ohne Parameter aufruft, findet er alle Dateien und Verzeichnisse im aktuellen Verzeichnis und darunter.
Die allgemeine Syntax lautet find {Pfad} {Suchkriterien} {Aktion}
Alle Parameter sind optional.
Möchte man nach einem bestimmten Verzeichnis oder Dateinamen suchen geht das wie folgt:
find -name test
Wenn man nicht genau weiß, die die Datei heißt kann man auch mit Wildcards suchen:
find -name foo*bar oder find -name '*.flv'
Man kann mehrere Verzeichnisse angeben, in denen gesucht werden soll, z.B.:
find /var /etc $HOME -name test
Wenn man Dateien mit einem bestimmten Inhalt sucht, dann kann man das wie folgt machen:
find /var/www -type f -exec grep -H 'suchtext' {} \;
Dateien suchen, die älter sind als X Tage:
find /var/www/maps -type f -ctime +7find /var/www/maps -type f -ctime +7 -deletezum löschen
Dateien suchen, die älter sind als X Minuten:
find /var/www/maps -type f -cmin +30find /var/www/maps -type f -cmin +30 -deletezum löschen
Leere Verzeichnisse finden:
find . -type d -emptyfind . -type d -empty -deletezum löschen