Copiare file

Copiare un solo file

cp

Il comando cp viene utilizzato per copiare file. Questo comando può essere utilizzato in vari modi, a seconda del risultato che si vuole raggiungere.
L'utilizzo più semplice è quello di utilizzare il comando cp per creare una copia di un file all'interno della cartella di lavoro. Ad esempio, se io ho nella cartella il file documento.txt ed eseguo il comando:

cp documento.txt copia_documento.txt

otterrò la generazione del file copia_documento.txt all'interno della cartella in cui si trova documento.txt.
L'utilizzo più comune è però quello di generare una copia di un file che si trova in una cartella all'interno di un'altra cartella. Ad esempio, se io ho nella cartella Documenti il file documento.txt e voglio creare una copia con lo stesso nome di questo file nella cartella di lavoro, il comando da eseguire è:

cp Documenti/documento.txt .

(non trascurare il . alla fine del comando!)
mentre, se voglio copiare il file mantenendo lo stesso nome dalla cartella Documenti alla cartella Documenti2, che non è la cartella di lavoro, il comando da eseguire è il seguente:

cp Documenti/documento.txt Documenti2

ed infine, se voglio copiare il file dalla cartella Documenti alla cartella Documenti2 ma cambiando il nome in documento2.txt, il comando da utilizzare è:

cp Documenti/documento.txt Documenti2/documento2.txt

Copiare molti file
Se i file da copiare sono tanti, il comando cp deve essere utilizzato in maniera da semplificare l'operazione da compiere. Se devono essere copiati 20 file si può ripetere il comando cp per ciascun file oppure, più semplicemente, si può percorrere una scorciatoia, mediante l'utilizzo dei caratteri speciali, oggetto di una sezione successiva. L'utilizzo dei caratteri speciali segue le stesse regole già viste, quindi non c'è bisogno di ulteriori approfondimenti. Occorre solo rispettare le regole per i caratteri speciali insieme a quelle per il comando cp. Quindi, ad esempio, per copiare tutti i file presenti nella cartella Documenti all'interno della cartella documenti2, mantenendo lo stesso nome, il comando da eseguire è:

cp Documenti/* Documenti2

Per poter monitorare l'esecuzione del comando passo per passo si utilizza l'opzione -v (ovvero --verbose). Il comando sopra diviene:

cp -v Documenti/* Documenti2

ovvero:

cp --verbose Documenti/* Documenti2

Questa opzione è estremamente utile quando si vuole essere certi che tutti i file che si vuole copiare sono stati effettivamente copiati.
Nel copiare in massa molti file da una cartella ad un'altra con il metodo visto sopra occorre essere certi che nella cartella di destinazione non siano presenti file con lo stesso nome, altrimenti il comando cp sovrascriverà i file nuovi a quelli vecchi. Per evitare ciò, si può utilizzare l'opzione -i (ovvero --interactive) per fare in modo che ci venga chiesto se sovrascrivere o meno i file. Il comando allora diviene:

cp -i Documenti/* Documenti2

ovvero:

cp --interactive Documenti/* Documenti2

nel caso in cui nell'esecuzione del comando vengano trovati nella cartella Documenti2 uno o più file con lo stesso nome di quelli che stanno per essere copiati, apparirà a schermo il seguente messaggio:

cp: overwrite './nome_file'?

Il comando cp dunque si arresta ed aspetta un input da noi, se vogliamo sovrascrivere occorre digitare y e poi Invio, se non vogliamo sovrascrivere occorre digitare n e poi Invio. La domanda sarà ripetuta per ciascun file da sovrascrivere, quindi è sconsigliato l'utilizzo di questa opzione durante la copia di molti file che devono essere sovrascritti. Se molti file devono essere copiati e tra questi alcuni devono sovrascrivere altri file ed altri no, allora occorre dedicare molto tempo all'esecuzione del comando cp.

5
Average: 5 (2 votes)
Your rating: None