find
Dateien und Verzeichnisse
Aufruf
find [path] -name '[pattern]' -type fDurchläuft einen Verzeichnisbaum und prüft jeden Eintrag; setzen Sie das Muster wie -name '*.log' in Anführungszeichen, sonst expandiert es die Shell vorher.
Häufige Optionen
| Option | Bedeutung |
|---|---|
| -name | Match the file name, case sensitive; -iname ignores case |
| -type | Restrict to f (file), d (directory) or l (symlink) |
| -size | Filter by size, as in -size +100M |
| -mtime | Filter by age in days, as in -mtime +7 |
| -maxdepth | Limit how deep to walk; GNU wants it before the tests |
| -delete | Delete every match, no confirmation |
| -exec | Run a command on each hit, ending with \; or + |
| -print0 | Separate results with NUL, to pair with xargs -0 |
Beispiele
find . -name '*.log' -mtime +7 -deleteDeletes log files older than a week.
find / -type f -size +1G 2>/dev/nullFinds files over a gigabyte, hiding permission errors.
find . -name '*.jpg' -exec mv {} photos/ +Moves every JPEG it finds.
Verschieben, löschen, finden. Manches fragt nicht zweimal — deshalb wird -i zur Gewohnheit.
So liest man das
- Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
- Drei Punkte … heißen: mehrere sind erlaubt.
- Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.
Häufige Fragen
Q. Was macht find?
Durchläuft einen Verzeichnisbaum und prüft jeden Eintrag; setzen Sie das Muster wie -name '*.log' in Anführungszeichen, sonst expandiert es die Shell vorher.
Q. Wie gibt man ihn ein?
find [path] -name '[pattern]' -type f — eckige Klammern markieren, was wegfallen darf.
Q. Wie viele Optionen lohnen sich?
Hier stehen 8; die vollständige Liste steht in man find. Der Befehl gehört zu Dateien und Verzeichnisse.
Verwandte Befehle
man-Seite: man find