GNU/Linux >> Znalost Linux >  >> Linux

5 Praktické příklady příkazu chgrp v Linuxu

Co je příkaz chgrp v Linuxu?

Pokud jste použili naši kalkulačku chmod, jste si vědomi oprávnění k souborům v Linuxu, pravděpodobně jste si vědomi vlastnictví skupiny.

Příkaz chgrp v Linuxu se používá pro změnu skupiny souboru nebo adresáře. Zkratka znamená ‚změnit skupinu‘.

Syntaxe příkazu chgrp je:

chgrp [options] groupname file

5 praktických příkladů příkazu chgrp v Linuxu

Podívejme se, jak používat příkaz chgrp s těmito užitečnými příklady.

1. Změnit skupinu souborů/adresářů

Toto je nejjednodušší a možná nejvýznamnější použití chgrp. Chcete-li změnit skupinové vlastnictví souboru nebo adresáře, můžete použít příkaz chgrp následujícím způsobem:

chgrp group_name file_name

Můžete také změnit skupinu pro více souborů najednou:

chgrp group_name file1 file2 file3

Nemusíte být ve stejném adresáři jako soubor. Můžete také zadat absolutní nebo relativní cestu.

Důležitá jsou vaše aktuální privilegia. Pokud se pokusíte změnit skupiny na admin nebo root, možná budete potřebovat oprávnění superuživatele. V takových případech byste měli vidět chybu „operace není povolena“.

Tip :chgrp podporuje doplňování karet. Stačí zadat několik písmen názvu skupiny a stisknout kartu, abyste viděli, jaké skupiny s těmito písmeny existují.

2. Použijte chgrp rekurzivně ke změně skupiny všech souborů a podadresářů

Ve výchozím nastavení, pokud používáte chgrp s adresářem, změní pouze skupinu adresáře. Soubory a podadresáře zůstávají stejné.

Pokud chcete změnit skupinu všech souborů v adresářích a v podadresářích, můžete použít rekurzivní volbu -R.

chgrp -R group_name path_to_directory

3. Zjistěte, zda se vám podařilo změnit skupinu

Zda byla skupina změněna, můžete zjistit pomocí příkazu ‚ls -l‘. Ale co kdybyste změnili skupinu pro několik souborů najednou jako pomocí rekurzivní možnosti, kterou jste viděli v předchozí části?

chgrp poskytuje podrobný režim, který vám řekne, jaké operace váš příkaz chgrp provedl. Můžete použít volbu -v ke spuštění příkazu chgrp v podrobném režimu.

chgrp -vR abhishek samplechanged group of 'sample/agatha.txt' from sudo to abhishek
group of 'sample/a.text' retained as abhishek
changed group of 'sample/text/sherlock.txt' from sudo to abhishek
changed group of 'sample/text' from sudo to abhishek
changed group of 'sample' from sudo to abhishek

Můžete si všimnout, že podrobný režim také říká, zda skupina souboru zůstala stejná. Pokud chcete tyto informace vidět pouze pro soubory, u kterých skutečně došlo ke změně vlastnictví skupiny, můžete použít volbu -c.

Tip :Pomocí chgrp můžete udělit oprávnění ke spuštění příkazu (v bin nebo init) nebo tak, aby příkaz mohli spustit všichni uživatelé patřící do určité skupiny (místo root).

4. Změňte vlastnictví skupiny stejně jako u referenčního souboru

Představte si, že chcete změnit skupinu souboru A stejně jako soubor B. Jak byste to udělali? Můžete vyhledat skupinu souboru B a poté použít příkaz chgrp s názvem skupiny souboru B.

No, to je jeden způsob, jak to udělat. Chgrp však poskytuje vyhrazený způsob změny skupiny na základě referenčního souboru namísto explicitního použití názvu skupiny.

chgrp --reference=file2 file1

To je zvláště užitečné, pokud píšete skript, kde je třeba změnit vlastníky skupin souborů jako referenční soubor.

Ve výchozím nastavení, pokud použijete příkaz chgrp se symbolickým odkazem, je to vlastník skupiny odkazovaného souboru, který se změní, zatímco skupina symbolického odkazu zůstane tak, jak je.

Například toto je sate odkazu a jeho odkazovaného souboru:

ls -l agatha.txt link.txt 
-r--r--rw- 1 abhishek abhishek 457 Aug 10 11:55 agatha.txt
lrwxrwxrwx 1 abhishek abhishek  10 Aug 19 10:19 link.txt -> agatha.txt

Pokud nyní změníte skupinu symbolického odkazu takto:

chgrp sudo link.txt

Skupina symbolických odkazů zůstane stejná, zatímco skupina odkazovaného souboru se změní.

ls -l agatha.txt link.txt 
-r--r--rw- 1 abhishek sudo     457 Aug 10 11:55 agatha.txt
lrwxrwxrwx 1 abhishek abhishek  10 Aug 19 10:19 link.txt -> agatha.txt

Pokud chcete změnit pouze skupinové vlastnictví symbolického odkazu a ne samotný odkazovaný soubor, můžete použít volbu -h.

chgrp -h sudo link.txt

Nebudu to však navrhovat, protože v Linuxu nemají oprávnění k propojení význam. Zde záleží na odkazovaném souboru.

Proč používat chgrp, když pro změnu skupiny můžete použít chown?

Pro změnu skupiny souboru můžete také použít příkaz chown, ale změna pouze skupiny pomocí příkazu chown není standardní. Také by mohlo být matoucí používat chown pro tento účel. chgrp je docela jednoduché a pro změnu skupiny souboru nebo adresáře se doporučuje použít příkaz chgrp.

Doufám, že se vám líbily příklady příkazů chgrp. Máte-li dotazy, návrhy nebo jednoduché poděkování, použijte pole pro komentáře níže.


Linux
  1. cp Command v Linuxu:7 praktických příkladů

  2. Linux Shutdown Command:5 praktických příkladů

  3. 5 Praktické příklady příkazu dd v Linuxu

  1. 10 Praktické příklady příkazů Linux nm

  2. Příklady příkazů chgrp v Linuxu

  3. groupmems Příklady příkazů v Linuxu

  1. Příkaz Chgrp v Linuxu (Change Group)

  2. Příkaz Linux Chgrp pro začátečníky (5 příkladů)

  3. 16 Praktické příklady příkazu Linux LS pro začátečníky