find
¶
Directories durchsuchen mit find
¶
find
geht ein Directory rekursiv durch und schreibt (ohne
Optionen) alle Einträge auf stdout
.
Alle Einträge unterhalb des CWD
$ find
Alle Einträge unterhalb eines beliebigen Directorys
$ find /etc/init.d
Alle Einträge unterhalb einer Liste von Directories
$ find /etc/init.d /tmp
find
: Optionen¶
Durch Optionen werden gefundene Einträge gefiltert
Unübliche Syntax: Optionen kommen am Ende!
Gebräuchliche Optionen:
Option |
Beschreibung |
---|---|
|
Einträge mit Namen |
|
Einträge mit Typ |
|
Einträge, die User |
|
Einträge, die Gruppe |
|
Einträge, die genau |
|
Einträge, die höchstens |
|
Aufrufen eines Commands pro gefundenem Eintrag |
find
: Beispiele¶
Alle Einträge unter /etc
, die net
heissen
$ find /etc -name net
Alle Einträge unter /etc
, die mit net
beginnen. find
versteht Shell-Globs, aber Vorsicht: Quoting nicht vergessen!
$ find /etc -name 'net*'
$ find /etc -name net\*
Alle Subdirectories in meinem Homedirectory:
$ find ~ -type d
Alle Entries in /var
, die jünger als 10 Minuten sind:
$ find /var -mmin -10
Alle Headerfiles des Kernels in einer Wurscht:
$ find /usr/src/linux/ -name \*.h -exec cat {} \;
find
: Verknüpfungen¶
Kriterien können mit folgenden Operatoren verknüpft werden
-a
: AND-o
: OR!
: NOT; Vorsicht, Quoting: History Expansion(
und)
: Klammerung; Vorsicht, das sind Shell-Metacharacters ⟶ Quoting
find
: Verknüpfungen: Beispiele¶
Alle Einträge unter /var
, die root
gehören und jünger als 30 Minuten sind:
$ find /var -user root -a -mmin -30
Alle Files in meinem Homedirectory, die jünger als 30 Minuten oder größer als 50K sind:
$ find ~ -type f -a \( -mmin -30 -o -size +50k \)
1001 weitere Optionen ⟶ man -s 1 find