GNU/Linux >> Linux Esercitazione >  >> Linux

5 Esempi pratici del comando chgrp in Linux

Cos'è il comando chgrp in Linux?

Se hai utilizzato il nostro calcolatore chmod, sei a conoscenza dei permessi dei file in Linux, probabilmente sei a conoscenza della proprietà del gruppo.

Il comando chgrp in Linux viene utilizzato per modificare il gruppo di un file o una directory. Sta per "cambia gruppo".

La sintassi per il comando chgrp è:

chgrp [options] groupname file

5 esempi pratici del comando chgrp in Linux

Vediamo come usare il comando chgrp con questi utili esempi.

1. Cambia gruppo di file/directory

Questo è l'uso più semplice e forse più importante del chgrp. Per modificare la proprietà del gruppo di un file o di una directory, puoi utilizzare il comando chgrp nel modo seguente:

chgrp group_name file_name

Puoi anche modificare il gruppo per più file contemporaneamente:

chgrp group_name file1 file2 file3

Non è necessario trovarsi nella stessa directory del file. Puoi anche fornire il percorso assoluto o relativo.

I tuoi attuali privilegi contano. Se provi a cambiare i gruppi in amministratore o root, potresti aver bisogno dei privilegi di super utente. In questi casi dovresti visualizzare un errore "operazione non consentita".

Suggerimento :chgrp supporta il completamento delle schede. Basta digitare alcune lettere per il nome del gruppo e premere la scheda per vedere quali gruppi esistono con quelle lettere.

2. Usa chgrp in modo ricorsivo per modificare il gruppo di tutti i file e le sottodirectory

Per impostazione predefinita, se usi chgrp con una directory, cambia solo il gruppo della directory. I file e le sottodirectory rimangono gli stessi.

Se vuoi cambiare il gruppo di tutti i file nelle directory e nelle sottodirectory, puoi utilizzare l'opzione ricorsiva -R.

chgrp -R group_name path_to_directory

3. Scopri se sei riuscito a cambiare il gruppo

Puoi capire se il gruppo è stato modificato usando il comando 'ls -l'. Ma cosa succede se hai cambiato il gruppo per più file contemporaneamente come usando l'opzione ricorsiva che hai visto nella sezione precedente?

chgrp fornisce una modalità dettagliata che ti dice quali operazioni ha eseguito il tuo comando chgrp. Puoi usare l'opzione -v per eseguire il comando chgrp in modalità dettagliata.

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

Potresti notare che la modalità dettagliata dice anche se il gruppo di un file è rimasto lo stesso. Se desideri visualizzare queste informazioni solo per i file per i quali è stata effettivamente modificata la proprietà del gruppo, puoi utilizzare l'opzione -c.

Suggerimento :puoi usare chgrp per dare il permesso di esecuzione a un comando (in bin o init) o ​​in modo che il comando possa essere eseguito da tutti gli utenti appartenenti a un gruppo specifico (invece che root).

4. Modifica la proprietà del gruppo come un file di riferimento

Immagina di voler cambiare il gruppo di file A come il file B. Come lo faresti? Puoi cercare il gruppo del file B e quindi utilizzare il comando chgrp con il nome del gruppo del file B.

Bene, questo è un modo per farlo. Tuttavia, chgrp fornisce un modo dedicato per modificare il gruppo in base a un file di riferimento invece di utilizzare il nome del gruppo in modo esplicito.

chgrp --reference=file2 file1

Ciò è particolarmente utile se stai scrivendo uno script in cui i proprietari dei file del gruppo devono essere modificati come file di riferimento.

Per impostazione predefinita, se utilizzi il comando chgrp con un collegamento simbolico, è il proprietario del gruppo del file di riferimento che viene modificato mentre il gruppo di collegamento simbolico rimane com'è.

Ad esempio, questo è lo stato del collegamento e del relativo file di riferimento:

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

Ora se modifichi il gruppo del collegamento simbolico in questo modo:

chgrp sudo link.txt

Il gruppo del collegamento simbolico rimarrà lo stesso mentre il gruppo del file di riferimento verrà modificato.

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

Se desideri modificare solo la proprietà del gruppo del collegamento simbolico e non il file di riferimento stesso, puoi utilizzare l'opzione -h.

chgrp -h sudo link.txt

Tuttavia, non lo suggerirò perché in Linux le autorizzazioni di collegamento non hanno significato. Il file di riferimento è ciò che conta qui.

Perché usare chgrp quando puoi usare chown per cambiare gruppo?

Puoi anche usare il comando chown per cambiare il gruppo di un file, ma cambiare solo il gruppo tramite il comando chown non è standard. Inoltre, potrebbe essere fonte di confusione usare chown per questo scopo. chgrp è piuttosto semplice e si consiglia di utilizzare il comando chgrp per modificare il gruppo di un file o una directory.

Spero che ti siano piaciuti gli esempi di comando chgrp. Se hai domande o suggerimenti o un semplice ringraziamento, utilizza la casella dei commenti qui sotto.


Linux
  1. Comando cp in Linux:7 esempi pratici

  2. Comando di arresto di Linux:5 esempi pratici

  3. 5 Esempi pratici del comando dd in Linux

  4. 10 esempi pratici di comandi Linux nm

  5. groupmems Esempi di comandi in Linux

15 Esempi pratici di Localizza comando in Linux

12 Esempi pratici di In Command in Linux

15 esempi pratici di comando Rsync in Linux

5 esempi pratici di Tail Command in Linux

echo Command in Linux:7 esempi pratici

Pratico comando Ping negli esempi di Linux