Connect with us

Wie man

So verwenden Sie den chgrp-Befehl unter Linux

So vergleichen Sie zwei Textdateien im Linux-Terminal

Fatmawati Achmad Zaenuri/Shutterstock.com

Die chgrp Befehl unter Linux ändert den Gruppenbesitz einer Datei oder eines Verzeichnisses. Warum verwenden Sie es anstelle von? chown ? Manchmal ist ein Schweizer Taschenmesser großartig, aber wenn Sie wirklich ein Skalpell brauchen, reicht nur ein Skalpell.

Wann Sie verwenden sollten chgrp

Sie verwenden die chgrp Befehl, um den Gruppenbesitz einer Datei oder eines Verzeichnisses zu ändern. Die chown Mit diesem Befehl können Sie den Benutzerbesitzer zum Gruppenbesitzer einer Datei oder eines Verzeichnisses ändern. Warum sollten Sie also brauchen oder verwenden? chgrp?

Nun, zum einen ist es einfach. Verwenden von chown Nur die Einstellung des Gruppenbesitzers zu ändern, ist ein wenig kontraintuitiv. Sie müssen sehr vorsichtig mit der Syntax sein. Es kommt auf die richtige Platzierung eines Doppelpunkts „:“ an. Wenn Sie das verlegen, nehmen Sie nicht die Änderung vor, von der Sie dachten, dass Sie sie wären.

Die Syntax von chgrp ist insgesamt einfacher. Es hat auch eine nette Funktion, die Ihnen in einfachen Worten sagt, welche Änderungen gerade vorgenommen wurden.

Es ist ein speziell entwickeltes und dediziertes Werkzeug für die jeweilige Aufgabe. chgrp umfasst vollständig das Unix-Designprinzip, eine Sache zu tun und sie gut zu machen. Mal sehen, was es zu bieten hat.

Ändern des Gruppeneigentums einer Datei

Das Ändern des Gruppenbesitzes einer Datei ist sehr einfach. Du musst benutzen sudo mit chgrp. Gruppen gehören nicht den Benutzern. Ob eine Datei oder ein Verzeichnis von einer Gruppe in eine andere verschoben wird, liegt also nicht im Ermessen des durchschnittlichen Benutzers. Das ist ein Job für jemanden mit Root-Rechten.

Wir werden den Gruppenbesitz einer C-Quelldatei namens „gc.c“ ändern. Wir werden es in die Gruppe „devteam“ ändern.

Wir können die aktuellen Eigentumswerte überprüfen, indem wir ls mit dem -l (lange Auflistung) Option.

ls -l

Dies ist der Befehl zum Ändern des Gruppenbesitzes. Typ sudo, ein Leerzeichen, chgrp , ein Leerzeichen, den Namen der Gruppe, die wir als Gruppenbesitzer festlegen werden, ein Leerzeichen und der Name der Datei.

sudo chgrp devteam gc.c

Wir überprüfen, ob die Änderung vorgenommen wurde, indem wir verwenden ls -l nochmal.

ls -l

Wir können sehen, dass der Gruppenbesitz von „dave“ zu „devteam“ geändert wurde.

Um den Gruppenbesitz für mehrere Dateien auf einmal zu ändern, können Sie Platzhalter verwenden. Lassen Sie uns den Gruppenbesitz für alle C-Quelldateien im aktuellen Verzeichnis ändern. Wir werden diesen Befehl verwenden:

sudo chgrp devteam *.c

Wir können überprüfen, ob die Änderung wie erwartet vorgenommen wurde, indem wir verwenden ls -l.

ls -l

Alle C-Quelldateien in diesem Verzeichnis wurden geändert, sodass ihr Gruppenbesitz „devteam“ ist.

Durch die Verwendung der -c (Änderungen) Option chgrp listet die Änderungen auf, die es an jeder Datei vorgenommen hat. Angenommen, wir haben einen Fehler gemacht, wir wollten, dass die Gruppeneigentümerschaft der C-Quelldateien auf „researchlab“ gesetzt wird. Lass uns das jetzt korrigieren. Wir verwenden diesen Befehl:

sudo chgrp -c researchlab *.c

Die Änderungen werden für uns vorgenommen und jede einzelne wird so aufgelistet, wie sie geschieht, sodass wir überprüfen können, ob die von uns geänderten Änderungen richtig sind.

Ändern des Gruppenbesitzes eines Verzeichnisses

Ebenso einfach ist es, den Gruppenbesitz eines Verzeichnisses zu ändern. Mit diesem Befehl können wir den Gruppenbesitz für das Verzeichnis „backup“ ändern.

sudo chgrp -c devteam ./backup

Um es klarzustellen, dieser Befehl ändert den Gruppenbesitz des Verzeichnisses selbst, nicht die Dateien im Verzeichnis. Wir werden verwenden ls -l mit dem -d (Verzeichnis) Option, um zu überprüfen, ob dies der Fall ist.

ls -l -d

Der Gruppenbesitz des Verzeichnisses selbst wurde in „devteam“ geändert.

Die rekursive Option

Wenn wir den Gruppenbesitz für die in einem Verzeichnis gespeicherten Dateien und Verzeichnisse ändern möchten, können wir das -R (rekursive) Option. Dies wird verursachen chgrp um den Gruppenbesitz für alle Dateien und Unterverzeichnisse unterhalb des Zielverzeichnisses zu ändern.

Versuchen wir dies mit dem Verzeichnis „backup“. Hier ist der Befehl:

sudo chgrp -R devteam ./backup

Wir überprüfen das in einem der verschachtelten Unterverzeichnisse mit dem ls Befehl, und wir überprüfen auch die Einstellungen eines der verschachtelten mit ls .

ls -l ./backup/images
ls -l -d ./backup/images

Wir können sehen, dass sich der Gruppenbesitz sowohl für die Dateien in den verschachtelten Unterverzeichnissen als auch für die verschachtelten Unterverzeichnisse geändert hat.

Verwenden einer Referenzdatei

Bisher haben wir es explizit gesagt chgrp der Name der Gruppe, die wir verwenden möchten. Wir können auch verwenden chgrp auf die Art und Weise, wie «Setzen Sie den Gruppenbesitz der Datei auf den gleichen Gruppenbesitz wie die Datei».

Lassen Sie uns den Gruppenbesitz von «gc.h» auf den gleichen Wert wie «gc.c» setzen.

Die aktuellen Einstellungen von „gc.c“ und „gc.h“ können wir mit überprüfen ls.

ls -l gc.c
ls -l gc.h

Die Option, die wir verwenden müssen, ist die --reference Möglichkeit. Das Gruppeneigentum wird von der Referenzdatei in die andere Datei kopiert. Achten Sie darauf, die Dateien richtig herum zu bekommen.

sudo chgrp --reference=gc.c gc.h

Wir werden verwenden ls um zu überprüfen, ob die Einstellungen auf „gc.h.“ übertragen wurden.

ls -l gc.h

Die Datei „gc.h“ hat jetzt denselben Gruppenbesitz wie „gc.c“.

Verwenden von chgrp mit symbolischen Links

Wir können benutzen chgrp um den Gruppenbesitz von symbolischen Links oder der Datei, auf die der symbolische Link zeigt, zu ändern.

Für dieses Beispiel haben wir a . erstellt symbolischer Link namens «button_link». Dies verweist auf eine Datei namens „./backup/images/button_about.png“. Um den Gruppenbesitz der Datei zu ändern, müssen wir den --dereference Möglichkeit. Dadurch werden die Einstellungen für die Datei geändert und der symbolische Link bleibt unverändert.

Lassen Sie uns die Einstellungen für den symbolischen Link mit überprüfen ls -l.

ls -l button_link

Der Befehl zum Ändern der Datei lautet:

sudo chgrp --dereference devteam button_link

Wir überprüfen mit ls, ob der symbolische Link unverändert ist, und überprüfen auch die Gruppenbesitzeinstellungen für die Datei.

ls -l button_link
ls -l ./backup/images/button_about.png

Der symbolische Link ist unverändert und die Gruppeneigenschaft der Datei „button_about.png“ wurde geändert.

Um den Gruppenbesitz des symbolischen Links selbst zu ändern, müssen wir die --no-dereference Möglichkeit.

Der zu verwendende Befehl lautet:

sudo chgrp --no-dereference devteam button_link

Wir werden verwenden ls -l um zu überprüfen, ob der neue Gruppenbesitz für den symbolischen Link festgelegt wurde.

ls -l button-link

Diesmal war das betroffene Element der symbolische Link selbst, nicht die Datei, auf die er verweist.

Schön und einfach

Einfach ist gut. Es bedeutet, dass es weniger zu erinnern und weniger zu verwechseln ist. Das sollte weniger Fehler bedeuten.

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia