Introduzione
Il chgrp
comando cambia la proprietà di una directory o di un file in Linux. Ogni file è associato a un utente proprietario oa un gruppo e ha regole che definiscono quali utenti o gruppi possono leggere, scrivere o eseguire il file.
In questo tutorial imparerai come usare il chgrp
comando per modificare la proprietà del gruppo di un file.
Prerequisiti
- Un sistema che esegue Linux
- Un account utente con privilegi sudo
- Accesso a un terminale (Ctrl+Alt+T )
Che cos'è il comando chgrp?
Il chgrp
Il comando (cambia gruppo) modifica il nome del gruppo a cui appartiene un file o una directory. Ogni file in Linux viene creato da un utente, mentre ogni utente appartiene a gruppi. Modificando la proprietà del gruppo di un file, cambiano anche le autorizzazioni per accedere e modificare un file.
Dal momento che il chgrp
il comando richiede i permessi di superutente, ricorda di eseguire il comando con il sudo
prefisso per una corretta esecuzione.
Spiegazione della sintassi del comando chgrp
Il chgrp
la sintassi del comando è:
chgrp [OPTION] [GROUP_NAME] [DIRECTORY/FILE_NAME]
[OPTION]
- Opzioni aggiuntive. Puoi usare il comando senza di loro.[GROUP_NAME]
- Il gruppo a cui vuoi assegnare il file.[DIRECTORY/FILE_NAME]
- La directory/il file di destinazione.
Il [OPTIONS]
sono:
OPZIONE | DESCRIZIONE |
---|---|
-f , --silent , --silent | Esegue il comando senza visualizzare alcun messaggio di errore. |
-v , --verbose | Emette i dettagli dell'azione per ogni file elaborato. |
-c , --changes | Simile a --verbose , ma segnala solo quando apporti una modifica. |
--dereference | Influisce sul referente di ogni collegamento simbolico, piuttosto che sul collegamento simbolico stesso. |
-h , --no-dereference | Influisce sui collegamenti simbolici anziché su qualsiasi file di riferimento. Utilizzare questa opzione solo su sistemi che possono modificare la proprietà di un collegamento simbolico. |
--no-preserve-root | Non tratta '/' in modo speciale (impostazione predefinita). |
--preserve-root | Impossibile operare ricorsivamente su '/'. |
--reference=RFILE | Cambia il nome del gruppo di un file nel nome del gruppo del file di riferimento. |
-R , --recursive | Opera su file e directory in modo ricorsivo. |
-H | Se un argomento della riga di comando è un collegamento simbolico a una directory, lo attraversa. Usato in combinazione con il -R opzione. |
-L | In un attraversamento ricorsivo, attraversa ogni collegamento simbolico a una directory incontrata. Usato in combinazione con il -R opzione. |
-P | Non attraversa alcun collegamento simbolico. Questa è l'impostazione predefinita se -H , -L o -P non sono specificati. Usato in combinazione con il -R opzione. |
--help | Visualizza il file della guida ed esce. |
--version | Emette informazioni sulla versione ed esce. |
Il [GROUP_NAME]
attributo è il nuovo gruppo che il file o la directory acquisisce al momento dell'esecuzione. Puoi anche specificare l'ID gruppo (GID ) invece del nome del gruppo aggiungendolo con il + firmare.
Il [DIRECTORY/FILE_NAME]
è la directory di destinazione o il nome del file di cui desideri modificare l'affiliazione al gruppo.
Puoi controllare a quale gruppo appartiene un file o una directory eseguendo il comando seguente:
ls -l
L'output elenca la proprietà del gruppo come nell'immagine seguente:
In questo output, il ls
comando mostra i dettagli di ogni file e sottodirectory contenuti nella directory phoenixNAP. Il proprietario e il gruppo di ogni file e directory qui è bosko .
Comando chgrp:5 esempi
Dai un'occhiata a cinque esempi su come utilizzare il chgrp
comando. Di seguito troverai comandi e output di esempio per modificare la proprietà del gruppo di directory, modificare la proprietà del gruppo in modo che corrisponda a un file di riferimento, visualizzare i dettagli di esecuzione e nascondere gli errori dei comandi.
Cambia gruppo di directory
Se desideri modificare la proprietà di un gruppo di directory, inserisci il nome della directory al posto del [FILE_NAME]
attributo nel comando:
chgrp [GROUP_NAME] [DIRECTORY_NAME]
Dai un'occhiata al nome del gruppo della directory esempio prima e dopo l'utilizzo di chgrp
comando. Il gruppo della directory è stato modificato rispetto a quello predefinito bosko a pippo di fenice usando il comando:
sudo chgrp phoenixnap example
Modifica ricorsivamente la proprietà del gruppo
Il -R
l'opzione consente di modificare in modo ricorsivo la proprietà del gruppo di una directory, qualsiasi sua sottodirectory e tutto il contenuto all'interno. La sintassi è:
sudo chgrp -R [GROUP_NAME] [DIRECTORY_NAME]
Ad esempio, il comando seguente modifica l'affiliazione al gruppo dell'esempio directory e tutti i suoi file:
sudo chgrp -R phoenixnap example
Nell'immagine sopra, vedi quei file all'interno di una sottodirectory di esempio hanno anche phoenixnap proprietà del gruppo.
Cambia il gruppo in modo che corrisponda al file di riferimento
Se desideri modificare il gruppo di un file in modo che corrisponda al gruppo di un altro, fai riferimento al file , usa la seguente sintassi:
chgrp [OPTION] --reference=[RFILE_NAME] [FILE_NAME]
Il [RFILE_NAME]
la sintassi è il nome del file di riferimento, mentre [FILE_NAME]
è il nome del file di destinazione.
Ad esempio, per modificare la proprietà del gruppo del file atom_273.snap essere uguale a quello del test file, eseguiresti:
sudo chgrp --reference=test atom_273.snap
Visualizza i dettagli di esecuzione di chgrp
Il -c
l'opzione consente agli utenti di visualizzare un elenco di modifiche chgrp
ha effettuato su ogni file specificato. L'elenco è utile se si desidera assicurarsi che le modifiche siano corrette. Per vedere le modifiche applicate, usa il comando:
sudo chgrp -c -R [GROUP_NAME] [DIRECTORY/FILE_NAME]
Per elencare le modifiche avvenute nel nostro esempio directory, eseguiremmo:
sudo chgrp -c -R bosko example
In questo caso abbiamo cambiato il gruppo dell'esempio directory e tutti i file che lo contengono e chgrp
elenca tutte le modifiche man mano che si sono verificate.
Nascondi errori di comando chgrp
Il -f
l'opzione consente agli utenti di eliminare potenziali messaggi di errore durante l'esecuzione di chgrp
comando. La sintassi per nascondere gli errori di comando è:
sudo chgrp -f [GROUP_NAME] [DIRECTORY/FILE_NAME]
Ad esempio, qui abbiamo usato il chgrp
comando su un file inesistente:
sudo chgrp phoenixnap nonexistentfile
L'output mostra che non può accedere al file perché non esiste un file o una directory di questo tipo.
Tuttavia, eseguendo lo stesso comando con -f
l'opzione elimina questo errore: