Scheint, als würde das rekursive Flag nicht für versteckte Verzeichnisse oder Dateien verwendet. Gibt es eine einfache Lösung dafür?
37
Ich bin mir ziemlich sicher, dass die -R
Flagge funktioniert - sie hat es sowieso immer für mich. Was nicht funktioniert und mich zu Beginn meiner Kommandozeilenverwendung gestört hat, ist die Verwendung *
in einem Verzeichnis mit versteckten Dateien / Verzeichnissen. Also mache ich
$ chown -R /home/user/*
wird nicht die versteckten Dateien und Verzeichnisse tun. Wenn Sie es jedoch mit folgen
$ chown -R /home/user/.[^.]*
dann machst du alle versteckten dateien (aber nicht .
oder ..
wie immer /home/user/.*
). Nachdem ich das alles gesagt habe, würde ich erwarten
$ chown -R /home/user
um alle versteckten Dateien und Verzeichnisse zu erhalten /home/user
- obwohl dies natürlich auch die Berechtigungen des Verzeichnisses selbst ändert, was möglicherweise nicht das ist, was Sie beabsichtigt haben.
chown
das Verzeichnis bearbeiten, ändern Sie nebenbei die Berechtigungen für das Verzeichnis selbst sowie den gesamten Inhalt des Verzeichnisses.chown nginx:nginx -R /path/to/.[^.]*
und es hat nur den Besitzer in .dot versteckte Dateien geändert. nicht alle.*
und ihm folgen.[.^]*
, um alle Dateien zu erhalten.Ich glaube, der folgende Befehl sollte dafür funktionieren
quelle
"chown -R" funktioniert, aber eine Alternative wäre find.
quelle
+
anstelle von;
als Abschlusszeichen -exec zu verwenden, da die minimale Anzahl von zu chownenden Gabeln anstelle von einer Gabel pro Datei / Verzeichnis verwendet wirdSie können das
dotglob
Attribut vorübergehend ändern , um es zu erweitern. Dateien und stellen Sie es dann wieder her.Mehr
dotglob
dazu finden Sie hierquelle
Mit for-Schleife mit
ls -A
Option, können wir alle versteckten Dateien finden und Verzeichnis ausschließen.
und..
dann für alle versteckten Dateien und Verzeichnisse , die den Besitzer wechseln.Verwenden Sie
xargs
Option mitls -A
Für weitere Informationen klicken Sie hier und besuchen Sie meine Website
quelle
Auch, wenn Sie wie ich sind, werden Sie wahrscheinlich meistens aus dem aktuellen Verzeichnis heraus ausgeführt. Ich war es gewohnt , es so zu laufen:
chown rails.rails -R *
. Ändern Sie einfach den Stern in einen Punkt (kurz für das aktuelle Verzeichnis), umchown rails.rails -R .
alle versteckten Verzeichnisse einzublenden.quelle
chown
funktioniert mit versteckten Dateien und Verzeichnissen. Im folgenden Beispiel ändern wir den Benutzer- und Gruppenbesitz für alle Dateien in~/some/folder
. Alle Dateien sind alle versteckten Dateien (zB.bashrc
,.profile
etc.) und Ordner auf der~/some/folder
Ebene und unten. Beachten Sie insbesondere, dass wir den Eigentümer von nicht ändern möchten~/some
und daher die Datei~/some/..
von den Eigentumsänderungen ausschließen.quelle
So zeigen Sie ALLE Dateien im aktuellen Verzeichnis und in den Unterverzeichnissen des aktuellen Benutzers an:
oder wenn der Benutzer einige Dateien aufgrund eingeschränkter Berechtigungen nicht anzeigen kann;
quelle
Sie könnten so etwas tun
Das
-A
( Kapital A) ist wichtig, da es '.' Ausschließt. und '..'quelle