GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Eine schnellere Möglichkeit, Besitzer/Gruppe rekursiv zu ändern?

Verwenden Sie chown rekursive Option von :

chown -R owner:group * .[^.]*

Geben Sie sowohl * an und .[^.]* stimmt mit allen Dateien und Verzeichnissen überein, die find möchten. Das heute empfohlene Trennzeichen ist : statt . . (Wie von Justins erwähnt, mit .* ist unsicher, da es um . erweitert werden kann und .. , was zu chown führt Ändern des Eigentümers des übergeordneten Verzeichnisses und aller seiner Unterverzeichnisse.)

Wenn Sie auch den Eigentümer des aktuellen Verzeichnisses ändern möchten, kann dies vereinfacht werden zu

chown -R owner:group .

Für Befehle wie chown die ihre eigene Rekursion haben, ist es am schnellsten, diese Option zu verwenden:

 chown -R owner:group * .[^.]*

Warnung! In manchen Shells die Form chown -R owner:group * .* ersetzt Eigentümer im Stammverzeichnis / . Weil .* bedeutet ../../../../root, ../bin ... etc . Alle Wege. Die am weitesten verbreitete Shell, bash , gilt nicht für . und .. , Erweiterungsmuster.

Es ist jedoch nützlich zu wissen, dass das Hauptproblem, das Ihre Verwendung von find verlangsamt, ist, dass Sie chmown aufrufen für jedes einzelne gefundene Verzeichnis und jede Datei. Es ist viel schneller zu verwenden:

find . -type f -exec chown <owner>:<group> {} +
find . -type d -exec chown <owner>:<group> {} +

wie jedes Mal chown wird mit so vielen Parametern aufgerufen, wie in die Kommandozeile passen.

Diese Änderung funktioniert für andere Befehle, die keine eingebaute Rekursionsoption wie chown haben , auch. Und es funktioniert (und verbessert die Geschwindigkeit) in Situationen, in denen es eine solche Rekursionsoption gibt, Sie sie aber nicht verwenden können (z. B. bei Verwendung von chmod). , und Sie möchten nur Verzeichnisse wechseln).


Linux
  1. Vorrang von Benutzer- und Gruppeneigentümern bei Dateiberechtigungen?

  2. Wenn Chown Gruppen wechseln kann, warum wurde Chgrp erstellt?

  3. Besitzer und Gruppe in C ändern?

  4. Eigentümer und Gruppe nur für bestimmte Eigentümer ändern

  5. Rsync-Befehlsprobleme, Eigentümer- und Gruppenberechtigungen ändern sich nicht

Chown-Befehl in Linux (Dateibesitz)

Chgrp-Befehl in Linux (Gruppe ändern)

So ändern Sie die Dateiberechtigungen in Linux rekursiv

Linux Chown Command Tutorial für Anfänger (12 Beispiele)

Chown-Befehl in Linux (Dateibesitz ändern)

Wie man unter Linux rekursiv chown