
Ich muss eine Struktur aus Unterordnern chmodden, die natürlich weitere Unterordner und auch Dateien enthalten.
Jetzt muss ich die Zugriffsrechte (Besitzer:Gruppe, derzeit keine ACL) auf diese komplette Struktur auf die gleiche Weise ändern. Nur möchte ich 775 für Ordner, aber 664 für Dateien. Wie kann ich das erreichen? man chown
scheint keine Lösung zu bieten, also dachte ich, eine Pipe find
könnte chown
das machen. Meine Kenntnisse über Pipes sind ziemlich grundlegend. Ich glaube, man gibt einen Befehl ein und sendet die Ausgabe dieses Befehls über den zweiten Befehl.
find -type d | chmod -R 775 *
ist meine Vermutung, respektiert aber nicht die Ausgabe meines find
Befehls. Wahrscheinlich überschreibt das '*' im chown-Befehl die Ausgabe von find
etwas
irgendwelche Ideen, wie ich das zu meinen Gunsten optimieren kann?
Antwort1
NichtVerwenden Sie das -R
Flag mit chmod
, wodurch es rekursiv wird (anwendbar auf alle Ordner und Dateien, die in den Argumenten enthalten sind). Verwenden Sie:
find . -type d -exec chmod 775 {} +
Antwort2
Update: Ich habe es falsch gelesen, siehe @murus verwendet kein -R. Das könnte funktionieren:
chmod 775 $(find -type d)
Es wird genanntBefehlsersetzung