Wie führe ich rekursiv chmod
oder chown
für versteckte Dateien aus?
sudo chmod -R 775 *
funktioniert nicht bei versteckten Dateien.
Das gleiche gilt für sudo chown -R user:group
.
Wenn Sie in Ordnung sind, auch das aktuelle Verzeichnis zu ändern, tun Sie das und lassen -R
Sie das schwere Heben. -R
ignoriert keine versteckten Dateien.
sudo chmod -R 775 .
* .*
) ist nicht der sicherste Weg, dies zu tun. Insbesondere würde es in das übergeordnete Verzeichnis zurückkehren, was bedeutet, dass eschmod
auch Geschwister des aktuellen Verzeichnisses sind. Der richtige Weg wäre* ..?* .[^.]*
oder, noch besser (wenn man bedenkt, dass die Platzhalter möglicherweise nicht mit Dateien übereinstimmen)$(ls -A)
.ls
ist nicht analysierbar. Der Versuch, es zu analysieren, bittet um Ärger. Der richtige Ansatz ist die Verwendung von Shell-Globbing.sudo chmod 775 -R
würde dem Bauch nach oben, so Stick auf diese Antwort .*
schließt standardmäßig keine versteckten Dateien ein, aber wenn Sie sich in der Bash-Phase befinden, können Sie dies tun mit:Lesen Sie mehr darüber in bashs
builtin
Handbuch :Dadurch werden
*
auch versteckte Dateien eingebunden.Deaktiviere es mit:
quelle
zsh
?(D)
Globbing-Qualifikationsmerkmal, z. B.chmod -R 775 *(D)
Eine andere Möglichkeit ist,
find
i like it zu verwenden, da Sie sehr feinkörnige Kontrolle darüber haben können.Der einzige Nachteil ist, dass
find
die Syntax in verschiedenen Versionen unterschiedlich ist.quelle
Alle Dateien im aktuellen Verzeichnis, einschließlich versteckter Dateien:
Alle Dateien im aktuellen Verzeichnis, nicht rekursiv, einschließlich versteckter Dateien:
Hierdurch wird ein Ausnahmedateiname, der mit 2 Punkten beginnt, nicht geändert. Beispiel:
"./..thisonescapesunharmed.txt"
Achten Sie auch darauf, das "x" -Bit nicht zu entfernen, da sonst nicht auf alle Verzeichnisse zugegriffen werden kann (man benötigt das x-Bit, um eine CD in ein Verzeichnis zu schreiben).
Denken Sie an diese Warnung: Verwenden Sie niemals nackte,
*
sondern./*
stattdessen.Verwenden Sie
find
stattdessen, um Probleme beim Festlegen von Berechtigungen für Verzeichnisse zu vermeiden .quelle