find – Linux
Dieser Beitrag wurde vor mehr als drei Monaten veröffentlicht. Bedenke bitte, dass die hier angebotene Information nicht mehr aktuell und gültig sein könnte. Informiere dich daher bitte auch an anderer Stelle über dieses Thema. Sollten sich neue Informationen ergeben haben, so kannst du mich auch gerne auf diese über einen Kommentar hinweisen. Vielen Dank!Es folgen einige Beispiele, wie man den "find-Befehl" nutzen kann... viel Spaß beim ausprobieren.
find -size +10M -20M -exec ls -lah {} \;
-> Sucht Dateien ab dem aktuellen Verzeichnis, die gräßer sind als 10MB, aber kleiner als 20MB und zeigt diese an.
find /home/ -iname '*.jpg' -exec tar -czf bilder.tar.gz {} \;
-> Ab dem home-Verzeichnis nach Dateien suchen, die auf ".jpg/.JPG" enden duchsuchen und diese archivieren.
find / -used 1
-> Ab dem root-Verzeichnis alle Dateien suchen, welche heute (1 -> Tag) verwendet wurde.
find / -amin -10 [ -atime -10 ]
-> Ab dem root-Verzeichnis alle Dateien suchen, auf denen vor weniger als 10 Minuten [ Tage ] zugegriffen wurde.
find / -mmin +10 [ -mtime +10 ]
-> Ab dem root-Verzeichnis alle Dateien suchen, welche vor mehr als 10 Minuten [ Tage ] geändert wurden.
touch --date='15:00' /tmp/ref
find / -newer /tmp/ref
-> Ab dem root-Verzeichnis alle Dateien suchen, welche neuer sind als heute um 15:00 Uhr.
find / -type f -name "*neu*"
-> Ab dem root-Verzeichnis alle Dateien suchen, in welchen "neu" vorkommt.
find / -type d -name "*home*"
-> Ab dem root-Verzeichnis alle Verzeichnisse suchen, in welchen "home" vorkommt.
find . -empty
-> Im aktuellen Verzeichnis nach Dateien suchen, welche eine Größe von "null" haben.
find /home/ -user root [ -group root ]
-> Ab dem home-Verzeichnis nach Dateien suchen, welche dem User "root" [ der Gruppe "root" ] gehören.
find /home/ ! -user root [ ! -group root ]
-> Ab dem home-Verzeichnis nach Dateien suchen, welche nicht dem User nicht "root" [ nicht der Gruppe "root" ] gehören.
Es folgt noch ein Beispiel + Erklärung:
find / -type f -mtime +30 --exclude-from=alt_`date +%d-%m-%y`.tar.bz2 -exec tar -cjf alt_`date +%d-%m-%y`.tar.bz2 {} \;
find / -type f -mtime +30 --exclude-from=alt_`date +%d-%m-%y`.tar.bz2 -exec rm {} \;
find / -type f -iname "alt_*.tar.bz2" -mtime +60 -exec rm {} \;

find -size +10M -20M -exec ls -lah {} ;
BESSER:
find -size +10M -size -20M -print
lg uplex