find
BACK ..
Beispiele mit "find"
====================
Eine Datei im Homeverzeichnis von Fritz (und abwärts), mit dem Namen "GEHEIMNIS" suchen:
----------------------------------------------------------------------------------------
# find /home/fritz/ -name GEHEIMNIS
Es werden nur die Dateien aus dem Homeverzeichnis von Fritz (und abwärts), aufgelistet:
---------------------------------------------------------------------------------------
# find /home/fritz/ -type f
Es werden nur die Verzeichnisse aus dem Homeverzeichnis von Fritz (und abwärts), aufgelistet:
---------------------------------------------------------------------------------------------
# find /home/fritz/ -type d
Alle Deiten im Homeverzeichnis von Fritz (und abwärts), mit der UID "1001" in "1002" a:ndern:
--------------------------------------------------------------------------------------------
# find /home/fritz/ -uid 1001 -exec chown 1002 {}
Alle Dateien im aktuellen Verzeichnis (und abwärts), die nicht die Endung '.dat' oder '.html' haben:
----------------------------------------------------------------------------------------------------
# find * -type f ! -name '*.dat' ! -name '*.html' -print
Arbeitet man mit grossen Verzeichnissen, so erscheint irgendwann bei Kommandos
mit Wildcards wie zum Beispiel
rm Bilder/*.gif
die Fehlermeldung
"Argument list too long"
Der Grund liegt in der Verarbeitung von Wildcards. Diese werden nicht etwa vom
jeweiligen Programm verarbeitet, sondern von der Shell. Das Programm erfährt
also nicht von den Platzhaltern, sondern bekommt von der Shell bereits eine
Liste mit expandierten Dateinamen. Wird diese Liste zu lang,
so kommt es zu obiger Fehlermeldung.
Folgende Kommandozeile ist in soeinem Fall hilfreich (und schnell):
-------------------------------------------------------------------
# find Bilder -name "*.gif" -type f -print0 | xargs -0r rm -f
[IMG]