Hur man Använder chgrp-Kommandot i Linux

0
326
Fatmawati Achmad Zaenuri/Shutterstock.kom

Den chgrp-kommandot i Linux förändringar koncernen ägare till en fil eller katalog. Varför använda det istället för chown ? Ibland är en Swiss Army kniv är bra, men när du verkligen behöver en skalpell, bara en skalpell kommer att göra.

När Du Ska Använda chgrp

Du använder chgrp-kommandot för att ändra ägare till en fil eller katalog. Det chown kommando kan du ändra användarnamnet för ägaren och koncernen ägare till en fil eller katalog. Så varför skulle du inte behöver eller använder chgrp?

Tja, för en sak, det är lätt. Med chown att ändra just den gruppen ägare inställning är lite motsägelsefullt. Du måste vara mycket noga med syntaxen. Det hänger på rätt placering av ett kolon “:”. Tappa bort den, och du inte gör det ändrar du trodde att du var.

Syntaxen för chgrp är helt och hållet enklare. Det har också en snygg funktion som talar om för dig på ett enkelt sätt vilka förändringar det har bara gjorts.

Det är en specialbyggd och verktyg för uppgiften. chgrp helt omfamnar Unix design princip gör en sak och gör det bra. Låt oss se vad den har att erbjuda.

Ändra Gruppens Ägande av en Fil

För att ändra gruppens ägande av en fil är mycket enkelt. Du måste använda sudo med chgrp. Grupper som inte ägs av användare, så om en fil eller katalog flyttas från en grupp till en annan är inte ett beslut som sitter med den genomsnittliga användaren. Det är ett jobb för någon med root-privilegier.

Vi kommer att ändra ägandet av en C-källa fil som kallas “gc.c.” Vi kommer att ändra det till “devteam” grupp.

Vi kan kontrollera den nuvarande ägande värden med hjälp av ls med flaggan-l (lång lista) alternativ.

ls -l

Detta är kommandot för att ändra gruppägarskap. Skriv sudo, ett utrymme, chgrp , ett mellanslag, namnet på den grupp som vi kommer att ställa upp som grupp ägare, ett mellanslag och namnet på filen.

sudo chgrp devteam gc.c

Vi ska kontrollera att den ändring som har gjorts med hjälp av ls -l igen.

ls -l

Vi kan se att gruppen ägandet har ändrats från “dave” till “devteam.”

För att ändra ägarskap för en uppsättning filer på en gång, kan du använda jokertecken. Låt oss ändra gruppägarskap för alla C källa filer i den aktuella katalogen. Vi kommer att använda detta kommando:

sudo chgrp devteam *.c

Vi kan kontrollera att den förändring har skett som vi väntat med hjälp av ls -l.

ls -l

Alla C källa filer i den här katalogen har ändrats så att deras grupp ägande är “devteam.”

Genom att använda-c (förändringar) alternativ chgrp kommer att lista de förändringar som det har gjort att varje fil. Antag att vi gjort ett misstag, vi ville C källfiler att ha sin grupp ägande inställd på “researchlab.” Låt oss rätta till det nu. Vi kommer att använda detta kommando:

sudo chgrp -c researchlab *.c

Förändringarna är gjorda för oss, och var och en är listad som det händer, vilket tillåter oss att kontrollera att det som vi har ändrat är korrekt.

Ändra Gruppens Ägande av en Katalog

Ändra gruppens ägande av en katalog är bara så enkelt. Vi kan använda detta kommando för att ändra ägare för katalogen “backup”.

sudo chgrp -c devteam ./backup

För att vara tydlig, detta kommando kommer att ändra ägandet i katalogen själv, inte filerna i den katalogen. Vi kommer att använda ls -l-d (katalog) möjlighet att kontrollera att så är fallet.

ls -l -d

Koncernens ägande i katalogen själv har ändrats till “devteam.”

Rekursiva Alternativ

Om vi vill ändra gruppägarskap för filer och kataloger som lagras i en katalog, kan vi använda -R (recursive) alternativ. Detta kommer att orsaka chgrp att ändra gruppägarskap för alla filer och underkataloger i target-katalog.

Låt oss försöka detta med “backup” katalogen. Här är kommandot:

sudo chgrp -R devteam ./backup

Vi kommer att granska filer i en av de kapslade undermappar med ls-kommandot, och vi kommer också att kontrollera inställningarna för en av de kapslade undermappar med hjälp av ls .

ls -l ./backup/bilder
ls -l -d ./backup/bilder

Vi kan se att gruppen har ägandet förändrats både för filer i den kapslade undermappar och för kapslade undermappar.

Med hjälp av en referensfil

Hittills har vi varit uttryckligen säger chgrp namnet på den grupp som vi vill använda. Vi kan också använda chgrp på ett sätt som säger “ställ in grupp ägare av denna fil till samma grupp ägare som fil.”

Låt oss ställa den grupp ägare “gc.h” att vara den samma som “gc.c.”

Vi kan kontrollera de aktuella inställningarna av “gc.c” och “gc.h” med hjälp av ls.

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

De alternativ som vi måste använda är den –referens alternativ. Koncernens ägande är kopierad från referens-fil i den andra filen. Ta hand för att få filer på rätt sätt runt.

sudo chgrp –reference=gc.c gc.h

Vi kommer att använda ls för att kontrollera inställningar har överförts till “gc.h.”

ls -l gc.h

Filen “gc.h” har nu samma grupp ägare som “gc.c.”

Med hjälp av chgrp med Symboliska Länkar

Vi kan använda chgrp att ändra gruppägarskap symboliska länkar, eller i filen pekad till av den symboliska länken.

För detta exempel har vi skapat en symbolisk länk som heter “button_link.” Detta pekar på en fil som heter “./backup/images/button_about.png.” För att ändra gruppägarskap av fil, måste vi använda –dereference alternativ. Detta kommer att ändra inställningarna för arkiv och lämna den symboliska länken oförändrad.

Låt oss kontrollera inställningarna för den symboliska länken med ls -l.

ls -l button_link

Kommandot för att ändra filen är:

sudo chgrp –dereference devteam button_link

Vi ska kontrollera att den symboliska länken är oförändrad med ls, och vi kommer också att kontrollera koncernens ägande inställningarna för filen.

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

Den symboliska länken är oförändrad, och “button_about.png” filen har haft sin grupp ägandet ändras.

För att ändra gruppägarskap av den symboliska länken själv, måste vi använda –no-dereference alternativ.

Kommandot för att använda är:

sudo chgrp –no-dereference devteam button_link

Vi kommer att använda ls-l för att kontrollera att den nya koncernens ägande har fastställts för den symboliska länken.

ls -l-knappen-länk

Den här gången drabbade artikel var den symboliska länken själv, inte filen som den pekar på.

Trevligt och Enkelt

Enkelt är bra. Det innebär att det är mindre att tänka på och mindre för att få förväxlas med. Det bör innebära färre misstag.

LÄS NÄSTA

  • “Kan Din Bluetooth-Enheter att Vara Hackad i 2019?
  • “Kan Du Få Flera användarkonton på en iPad?
  • “Hur man Aktiverar en Play/Pause-Knappen på Chrome Verktygsfält
  • “Den Bästa Nya Funktionerna i iOS 13
  • “Vad Gör “TFW” Betyder, och Hur Använder Man Det?