Antworten:
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 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
chown -hR userid:usergroup /nameofdirectory/nameofsubdir/
"chown -R" funktioniert, aber eine Alternative wäre find.
find /path/to/dir -exec chown USER {} \;
+
anstelle von ;
als Abschlusszeichen -exec zu verwenden, da die minimale Anzahl von zu chownenden Gabeln anstelle von einer Gabel pro Datei / Verzeichnis verwendet wird
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.
for i in `ls -A | grep "^\."`;do chown -R user:group $i;done
Verwenden Sie xargs
Option mitls -A
ls -A | grep "^\." | xargs chown user:group
Für weitere Informationen klicken Sie hier und besuchen Sie meine Website
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), um chown rails.rails -R .
alle versteckten Verzeichnisse einzublenden.
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.
$ cd ~/some/folder
$ sudo chown -R usrname:grpname .
$
So zeigen Sie ALLE Dateien im aktuellen Verzeichnis und in den Unterverzeichnissen des aktuellen Benutzers an:
find . -exec chown $(whoami) {} \;
oder wenn der Benutzer einige Dateien aufgrund eingeschränkter Berechtigungen nicht anzeigen kann;
sudo find . -exec chown $(logname) {} \;
Sie könnten so etwas tun
for i in `ls -A`;do chown -R user:group $i;done
Das -A
( Kapital A) ist wichtig, da es '.' Ausschließt. und '..'
chown
das Verzeichnis bearbeiten, ändern Sie nebenbei die Berechtigungen für das Verzeichnis selbst sowie den gesamten Inhalt des Verzeichnisses.