Ricerca nel sito web

Copia file e modifica proprietà e autorizzazioni allo stesso tempo


Questo breve tutorial descrive come copiare file e modificare la proprietà e le autorizzazioni allo stesso tempo dalla riga di comando nei sistemi operativi simili a Unix.

Di solito, utilizziamo il comando "cp" per copiare file da una posizione a un'altra. Quindi, utilizziamo i comandi "chmod" e "chown" per modificare rispettivamente i permessi e la proprietà di un file.

Tuttavia, possiamo combinare tutte queste attività in un comando di una riga e ottenere comunque lo stesso risultato invece di eseguire tre comandi consecutivi. Questo può essere utile quando vuoi farlo regolarmente o all'interno di uno script.

Copia file e modifica proprietà e autorizzazioni allo stesso tempo

Dai un'occhiata al seguente esempio.

Per copiare file e modificare autorizzazioni e proprietà, di solito facciamo:

cp /dir1/file1 /dir2
chmod 775 -R /dir2
chown -R newowner:newgroup /dir2/file1

Tuttavia, non è necessario utilizzare tre comandi per questa semplice attività. Possiamo farlo con un solo comando. È qui che torna utile il comando "installa".

Pensavo che il comando "installa" servisse a installare le cose. Ma mi sbagliavo! Il comando "install" viene utilizzato per copiare i file nella destinazione di tua scelta e impostare gli attributi. Fa parte di GNU coreutils che viene preinstallato con tutte le distribuzioni Linux.

Ora lasciami mostrare come modificare le autorizzazioni e la proprietà di un file durante la copia.

sudo install -C -m 775 -o sk -g ostechnix /dir1/file1 /dir2

Il comando precedente copierà il file /dir1/file1 in /dir2, modificherà i permessi del file in 775, il proprietario in sk e il gruppo a ostechnix.

Analizziamo il comando precedente e vediamo cosa fa ciascuna parte del comando.

  • -C, (--compare): confronta ogni coppia di file di origine e di destinazione e, in alcuni casi, non modifica affatto la destinazione.
  • -m, (--mode): imposta la modalità di autorizzazione (come in chmod).
  • -o, (--owner): imposta la proprietà dell'utente.
  • -g, (--group): imposta la proprietà del gruppo.

Per maggiori dettagli, fare riferimento alle pagine man.

man install

Lettura consigliata:

  • Come mantenere intatti la proprietà e le autorizzazioni dei file durante la copia di file o directory
  • ExplainShell: scopri cosa fa ciascuna parte di un comando Linux

E questo è tutto. Spero che questo ti aiuti.

Articoli correlati