Benutzer-Werkzeuge

Webseiten-Werkzeuge


allgemeine-howtos:shellbefehle:chmod-rekursiv-nur-auf-dateien-oder-verzeichnisse-anwenden

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.

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
allgemeine-howtos/shellbefehle/chmod-rekursiv-nur-auf-dateien-oder-verzeichnisse-anwenden.txt · Zuletzt geändert: 2016/01/18 23:40 von 127.0.0.1