Der Befehl find
ist eines der leistungsfähigsten Werkzeuge unter Linux, wenn es darum geht, Dateien und Verzeichnisse anhand bestimmter Kriterien zu suchen. Er kann nicht nur nach Namen suchen, sondern auch nach Größe, Änderungsdatum, Dateityp oder Berechtigungen – und sogar Aktionen wie Kopieren oder Löschen ausführen.
In diesem Beitrag sehen wir uns Syntax, Optionen und praxisnahe Beispiele an.
1. Grundlegende Syntax
find PFAD [OPTIONEN] SUCHKRITERIEN [AKTIONEN]
- PFAD: Startpunkt der Suche (z. B.
/home
,.
für aktuelles Verzeichnis) - SUCHKRITERIEN: Name, Größe, Datum, usw.
- AKTIONEN: z. B. Löschen, Kopieren, Ausführen von Befehlen
Beispiel:
find . -name datei.txt
→ Sucht im aktuellen Verzeichnis nach datei.txt.
2. Nach Dateinamen suchen
- Exakter Name:
find /home/user -name "bericht.txt"
- Name ohne Beachtung der Groß-/Kleinschreibung:
find /home/user -iname "bericht.txt"
- Muster verwenden (Wildcards):
find /home/user -name "*.log"
3. Nach Dateityp suchen
Option | Typ |
---|---|
-type f | Datei |
-type d | Verzeichnis |
-type l | Symbolischer Link |
Beispiele:
find /var/log -type f -name "*.log"
find /home/user -type d -name "Backup"
4. Nach Dateigröße suchen
Option | Bedeutung |
---|---|
+100M | Größer als 100 MB |
-10M | Kleiner als 10 MB |
Beispiel:
find /home -size +500M
→ Alle Dateien größer als 500 MB.
5. Nach Änderungsdatum suchen
Option | Bedeutung |
---|---|
-mtime -7 | In den letzten 7 Tagen geändert |
-mtime +30 | Älter als 30 Tage |
Beispiel:
find /var/log -mtime +7
→ Alle Dateien, die älter als 7 Tage sind.
6. Aktionen mit find
6.1 Dateien löschen
find /var/log -name "*.log" -delete
6.2 Befehl auf Suchergebnisse anwenden
find /home/user -name "*.txt" -exec cp {} /mnt/backup/ \;
{}
= Platzhalter für die gefundene Datei\;
= Ende des Befehls
6.3 Mit xargs
kombinieren
find /home/user -name "*.log" | xargs gzip
→ Komprimiert alle gefundenen Logdateien.
7. Suche auf bestimmte Verzeichnistiefe begrenzen
find /home/user -maxdepth 1 -name "*.txt"
→ Nur im aktuellen Verzeichnis suchen, nicht rekursiv.
8. Praxisbeispiele
- Größte Dateien im System finden
find / -type f -size +1G
- Alle temporären Dateien löschen
find /tmp -type f -mtime +3 -delete
- Alle Logdateien sichern
find /var/log -name "*.log" -exec cp {} /mnt/backup/ \;
9. Zusammenfassung
Befehl | Funktion |
---|---|
find . -name "*.txt" | Dateien nach Name suchen |
find /var/log -type f -mtime +7 | Dateien älter als 7 Tage |
find /home -size +100M | Dateien größer als 100 MB |
find /tmp -type f -delete | Dateien löschen |
find /var/log -name "*.log" -exec cp {} /backup/ \; | Dateien kopieren |
Schreibe einen Kommentar