Ich versuche, den Besitz und die Berechtigungen einiger Dateien (und Verzeichnisse) im aktuellen Verzeichnis zu ändern. Ich habe es versucht:
chown username:groupname .
... in der Erwartung, dass es sich auf alle Dateien im aktuellen Verzeichnis auswirken würde, sondern nur auf das Verzeichnis, in dem ich mich befinde (was das Gegenteil von dem ist, was ich tun möchte). Ich möchte es für alle Dateien ändern, ohne das aktuelle Verzeichnis zu beeinflussen, in dem ich mich befinde.
Wie kann ich alle Dateien im aktuellen Verzeichnis anzeigen und ändern?
man chown
undman chmod
beantworten Sie einfach Ihre Frage.chmod
. Es ist in die Schale eingebaut. Auch die Lektüre der Dokumentation über das Globbing entzieht Ihnen das Leben (ich habe viel zu viel Zeit damit verbracht, alle Funktionen des zsh herauszufinden).chown -R user:group .
Antworten:
Sie möchten verwenden
chown username:groupname *
, und lassen Sie die Shell*
auf den Inhalt des aktuellen Verzeichnisses erweitern. Dadurch werden die Berechtigungen für alle Dateien / Ordner im aktuellen Verzeichnis geändert, nicht jedoch für den Inhalt der Ordner.Sie könnten auch
chown -R username:groupname .
Folgendes tun , um die Berechtigungen für das aktuelle Verzeichnis zu ändern und dann die darin enthaltenen und alle Unterordner erneut zu durchsuchen, um die Berechtigungen zu ändern.chown -R username:groupname *
ändert die Berechtigungen für alle Dateien und Ordner rekursiv, wobei das aktuelle Verzeichnis selbst in Ruhe gelassen wird. Diesen und den ersten Stil verwende ich am häufigsten.quelle
chown -R username:groupname .
werdenchown -R username:groupname /
. Aus einer 2-Sekunden-Aufgabe einen 2-Tage-Albtraum machen.-v
alle meine rekursiven Befehle zu verwenden, aber zu faulchown -R username:groupname directoryname
Ich denke du willst das:
chown username:groupname *
Wenn Sie auch Unterverzeichnisse rekursiv ändern möchten, benötigen Sie den Schalter
-R
(nicht mehr-r
empfohlen):chown -R username:groupname *
quelle
chown
ist großartig, wenn Sie ein Superuser sind. Ich hatte ein Problem, bei dem jemand anderesmake
in meinem Verzeichnis ausgeführt wurde, und besaß nun einige Dateien, die ich nicht ändern konnte. Hier ist meine Problemumgehung, die Dateien und Verzeichnisse behandelt, obwohl die Verzeichnisse mit einem Suffix versehen bleiben,.mkmeowner
wenn sie nicht gelöscht werden können.Beispiele:
mkmeownerone
sich in Ihrem Pfad befinden.mkmeowner:
mkmeownerone:
quelle
mkmeownerone
den Suchpfad eingeben muss.mkmeowner
wird explodieren, wenn das nicht getan wird. (3) Erfahren Sie, wie (dh wann und wo) Anführungszeichen in Shell-Befehlen und Skripten verwendet werden. Sagen${f}
ist keine sinnvolle Alternative; sieh das . … (Fortsetzung)expr
ist veraltet. Es ist effizienter, einen einfachen String-Abgleich in der Shell durchzuführen. Bash unterstützt auch die Suche nach regulären Ausdrücken. In diesem Fall können Sie den Dateinamentest infind.
(6) ausführen. Ihrexpr match
Befehl testet, ob er mit${f}
endetmkmeowner
und nicht, ob er mit endet.mkmeowner
. Daher wird das Skript nicht an sich selbst arbeiten. … (Fortsetzung)dirorfile
ist schwer zu lesen und zu verstehen (vergleiche mitdir_or_file
), und als ich es sahmkmeowner
, dachte ich zuerst an eine Katze (mk
+meow
+ner
).