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]