Home · Kontakt · Impressum
contents index previous up next
Next: 11.3.2 Suchen mit locate Up: 11.3 Auf der Suche Previous: 11.3 Auf der Suche

Unterabschnitte



11.3.1 find

Dieses Tool wird dazu benutzt das angegebene Verzeichnis und seine Unterverzeichnisse nach Dateien zu durchsuchen, die den mitgegebenen Kriterien entsprechen.
find [PFAD] [SUCHKRITERIEN]

Werden keine Kriterien angegeben, so zeigt find alle Dateien im Verzeichnis und seinen Unterverzeichnissen an. Wird kein Pfad angegeben, so dient das aktuelle Arbeitsverzeichnis als Startverzeichnis. Um die Anzahl der gefundenen Dateien einzuschränken, können Kriterien für die Eigenschaften der gesuchten Dateien angegeben werden. Tabelle 11.1 liefert einen Überblick über die wichtigsten Kriterien.


Tabelle 11.1: Suchkriterien des find-Befehls
Kriterien Aktion
-atime $\pm$N Findet Dateien auf der Basis des letzten Zugriffs
-ctime $\pm$N Findet Dateien auf der Basis der letzten Änderung des Verzeichniseintrags
-exec BEFEHL Ausführen eines BEFEHL für jede gefundene Datei
-group GRUPPE Findet Dateien die zu einer bestimmten GRUPPE (GID) gehören
-inum N Findet Dateien mit der Inode N
-links N Findet Dateien mit N Links
-mount Findet Dateien nur im gleichen Dateisystem
-mtime $\pm$N Findet Dateien auf der Basis der letzten Änderung
-name MUSTER Findet Dateien, auf deren Dateiname das MUSTER zutrifft.
-newer DATEI Findet Dateien, die jünger als die angegebene DATEI sind.
-ok BEFEHL Ausführen eines BEFEHL für jede gefundene Datei mit vorheriger Sicherheitsabfrage
-perm NNN Findet Dateien, auf die Rechtemaske NNN zutrifft.
-print Zeigt die gefundenen Dateien mit ihrem Pfad an. (Standard)
-size N[c] Findet Dateien in Abhängigkeit von ihrer Größe (N Blocks oder N Zeichen).
-type C Findet Dateien vom gegebenen Typ:
  b = Blockgerät, c = Zeichengerät, d = Verzeichnis, l = Link oder f = normale Datei
-user BENUTZER Findet die Dateien des angegebenen Benutzers
-xdev Durchsucht nur das aktuelle Dateisystem


Einzelne Suchkriterien sind logisch verknüpfbar, d. h., es können Suchkriterien aus verschiedenen Teilbedingungen zusammengesetzt werden. Numerische Angaben als Bestandteil eines Suchkriteriums lassen sich auf drei Weisen benutzen: N, +N und -N, wobei N eine ganze Zahl ist. Das Kriterium -links veranlaßt z. B. eine Suche nach Dateien mit einer bestimmten Anzahl von Links und erfordert eine entsprechende numerische Angabe. So bedeuten
-links 3 Suche nach Dateien mit 3 Links
-links +3 Suche nach Dateien mit mehr als 3 Links
-links -3 Suche nach Dateien mit weniger als 3 Links

11.3.1.1 Beispiele zu find

find -name "super*"
Findet alle Dateien im aktuellen Verzeichnis und darunter, die mit ``super'' beginnen. Dabei sollte das Suchmuster in Anführungszeichen stehen.

find /usr -type d -print
sucht nach allen Verzeichnissen, die unterhalb von /usr existieren und zeigt ihre Pfadnamen an.

find / -name tty* -print
liefert die Pfade aller Dateien des gesamten Dateisystems, die mit ``tty'' beginnen.

find / -user 406 -ok rm {} \;
sucht im gesamten Dateisystem nach Dateien des Benutzers mit der uid 406. Gefundene Dateien werden bei positiver Beantwortung einer Sicherheitsabfrage gelöscht.

find . -newer .version_time -print
zeigt alle Dateien des aktuellen Verzeichnisses, die jüngeren Datums sind als die Datei .version_time.

find / -size +10k -user tapico -print
zeigt alle Dateien die größer als 10 kB sind und dem Benutzer tapico gehören.

find ~ -atime -10 -print
findet alle Dateien, auf die innerhalb der letzten 10 Tage zugegriffen wurde.

Bei Angabe von mehreren Kriterien wird immer von einer UND-Verknüpfung ausgegangen.
find / -size +10k -user tapico -print
zeigt alle Dateien die größer als 10 kB sind und dem Benutzer tapico gehören.

Dies kann durch -a betont werden.
find / -size +10k -a -user tapico -print

Eine ODER-Verknüpfung erreicht man durch -o.
find ~ -name '*.htm' -o -name '*.html' -print
sucht nach allen Dateien, die auf ``.htm'' oder ``.html'' enden.

Die Negation eines Kriteriums wird durch das ! erreicht.
find / \! -name '*~' -print
findet alle Dateien, die nicht mit einem Tilde ~ enden. Allerdings stellt die Verwendung des Negationsoperators ``!'' ein Problem dar, da dieser in der Bash eine besondere Bedeutung hat. Er muß deshalb maskiert werden. Im Zweifelsfall bietet es sich an die längere Version -not zu verwenden.

Der Befehl find kann auch zur Suche nach weiteren Hardlinks einer Datei verwendet werden.

ole@enterprise:~> ls -li /bin/gzip
 926671 -rwxr-xr-x    3 root     root        52964 2003-09-23 18:52 /bin/gzip
ole@enterprise:~> find /bin -inum 926671
/bin/gzip
/bin/zcat
/bin/gunzip


contents index previous up next
Next: 11.3.2 Suchen mit locate Up: 11.3 Auf der Suche Previous: 11.3 Auf der Suche
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang