Come copiare file in Linux con il comando cp

La copia di file e directory può essere rapida e indolore in Linux se si utilizza il comando cp. Impareremo come usare cp e trarremo vantaggio dalle sue utili opzioni che renderanno i tuoi lavori di copia più sicuri.

Qual è il comando cp in Linux?

Un’utilità della riga di comando per sistemi Unix e Linux in grado di copiare sia file che cartelle, cp è disponibile essenzialmente su ogni distribuzione Linux. Lo vedrai spesso referenziato nelle guide per l’esecuzione di attività di gestione dei file in Linux.

Non è necessario essere un mago del terminale per usarlo. La sua sintassi è semplice ed è più facile da usare se apri il terminale nella (o fai il cd ) nella directory contenente i file che desideri copiare.

cp Syntax

La sintassi di cp è molto simile al comando mv , che richiede semplicemente di specificare una o più sorgenti (i file o le cartelle che si desidera copiare) e una destinazione (la directory o il nome del file per le copie).

cp [options] >source>... >destination>

Il tuo comando può contenere più sorgenti, ma può esserci solo una destinazione. La destinazione può essere un’altra directory, un nuovo nome di file o entrambi.

Copiare file con cp

Se vuoi produrre una copia di un singolo file nella stessa directory, ma con un nome diverso, usa un comando come questo:

cp file.txt newfile.txt

Per fare la stessa cosa, ma in una sottodirectory, usa un comando come questo:

cp file.txt Backup/newfile.txt

Il comando precedente presuppone che tu abbia una cartella denominata Backup all’interno della directory corrente.

Se non desideri un nuovo nome per il file, specifica semplicemente la directory e non il nome del file nella destinazione:

cp file.txt Backup

Per copiare più file con cp, è sufficiente scrivere tutti i file che si desidera copiare, separati da uno spazio, prima di indicare la destinazione.

cp file1.txt file2.txt file3.txt Backup

Per risparmiare tempo nella copia di più file, è possibile utilizzare il tag jolly , un asterisco (*), per copiare automaticamente tutti i file nella directory con la stessa estensione, utilizzando qualcosa di simile all’esempio seguente:

cp *.txt Backup

Il comando precedente troverà tutti i file che terminano con .txt nella directory corrente e li copierà nella directory di backup.

Ovviamente, questo è utile solo se tutti o la maggior parte dei file che desideri copiare hanno la stessa estensione o qualcos’altro in comune nel nome del file.

Utilizzo di cp per copiare una cartella / directory

Se vuoi che una directory e tutto il suo contenuto venga copiato in una nuova posizione, dovrai specificare l’opzione -R . Ecco un esempio:

cp -R Files Backup

Il comando precedente copierà la cartella Files e posizionerà la copia all’interno di una cartella denominata Backup .

Se desideri copiare il contenuto di una cartella, ma non la cartella stessa, dovrai utilizzare l’opzione -T :

cp -RT Files Backup

Opzioni cp utili

Queste opzioni comunemente utilizzate per il comando cp sono principalmente utili se sei preoccupato per possibili sovrascritture o conflitti di attributi di file.

Noterai nei comandi precedenti che non ricevi alcun messaggio dal terminale che confermi che è successo qualcosa. Per vedere cosa sta succedendo, usa l’opzione dettagliata, -v :

cp -v file.txt newfile.txt

Se sei preoccupato per una sovrascrittura accidentale, puoi impostare l’opzione -i per chiedere sempre conferma in caso di conflitto di nomi di file. Per esempio:

cp -i file.txt newfile.txt

Con il comando precedente, se è già presente un file denominato newfile.txt , cp chiederà se sei sicuro di volerlo sovrascrivere.

Puoi anche preservare gli attributi del file, come la proprietà dell’utente, la modalità file e le date di modifica, con l’opzione -p :

cp -v file.txt newfile.txt

L’opzione conserva è utile se hai più utenti sul tuo sistema o se hai un’altra operazione di sincronizzazione sensibile alle date di modifica dei file.

Riga di comando Copia fiducia

Ora sai come usare cp per copiare file con facilità e sicurezza e hai fatto un passo importante per diventare comodo e versatile usando la riga di comando di Linux.

Se hai bisogno di creare backup di grandi dimensioni dei tuoi file, ci sono diversi strumenti disponibili per gli utenti Linux che potresti prendere in considerazione.