====== chmod rekursiv nur auf Dateien ODER Verzeichnisse anwenden ====== Mit ''chmod -R xxx *'' werden bekanntlich die Rechte für alle Dateien und Verzeichnisse im aktuellen Verzeichnis und allen Unterverzeichnissen gesetzt. Was nun, wenn nur Datei- **oder** Verzeichnisrechte geändert werden sollen? Beispielsweise in einem Webverzeichnis klassisch die Dateien auf 644, die Verzeichnisse auf 755. Dies ist mit folgendem Trick möglich: **Dateien:** ''find . -type f -print0 | xargs -0 chmod 644'' **Verzeichnisse:** ''find . -type d -print0 | xargs -0 chmod 755'' Mit //find// werden die den Kriterien entsprechenden Dateien gesucht, also in diesen zwei Fällen entweder Dateien = Files (f) oder Verzeichnisse = Directories (d). Der Punkt besagt, das im aktuellen Verzeichnis begonnen werden soll. Das Ergebnis wird dann via //xargs// an //chmod// übergeben. Alternativ können auch folgende Befehle verwenden werden: ''find . -type f -exec chmod 644 {} \;'' ''find . -type d -exec chmod 755 {} \;'' Hier soll es aber Probleme mit Datei- und Verzeichnisnamen geben, die Leerzeichen, Anführungszeichen oder Backslashes enthalten.