Ich habe ein Verzeichnis mit zahlreichen Dateien. Ein Teil der Dateien verfügt über die 755
Berechtigungen und der andere Teil über 644
Berechtigungen. Ich möchte die Dateien mit 755
Berechtigungen in konvertieren 644
. Ich habe die folgende Zeile ausprobiert, indem ich sie aus dem Verzeichnis selbst ausgeführt habe:
find . -perm 755 -exec chmod 644 {}\;
Infolgedessen änderte sich die Berechtigung jedoch nur für das Verzeichnis selbst, und nachdem ich es wieder geändert hatte, stellte ich fest, dass die Dateiberechtigungen unverändert blieben. Vermisse ich etwas
shell
permissions
find
Eugene S.
quelle
quelle
find ./ -type f -exec chmod -x {} \;
stattdessen.Antworten:
Ok, es scheint, dass ich das Problem gefunden habe. Es scheint, dass zwischen und ein obligatorisches Leerzeichen stehen muss , daher sieht der Befehl folgendermaßen aus:
{}
\;
Eher, als:
Das Problem mit dem Ändern der Verzeichnisberechtigungen kann auch durch Hinzufügen eines
-type f
Flags behoben werden. Es sieht also folgendermaßen aus:quelle
+
anstelle von verwenden\;
, um die Anzahl der erstellten Unterprozesse zu reduzieren.-type d
wird Verzeichnisse finden.-type f
wird Dateien finden.