Linux cp · 4 min read · Sep 19, 2025
Tutorial sul comando cp di Linux per principianti (8 esempi)
Se sei nuovo in Linux, vale la pena sapere che la riga di comando è uno strumento molto potente, capace di svolgere quasi tutte quelle operazioni che puoi fare attraverso l’interfaccia grafica. Tuttavia, più spesso di quanto tu possa pensare, ti ritroverai a svolgere compiti semplici sulla riga di comando. Uno di questi compiti semplici è copiare file/directory.
Il comando Linux cp ti offre la possibilità di copiare file e directory tramite la riga di comando. In questo tutorial, discuteremo l’uso di base di questo strumento utilizzando esempi facili da comprendere. Ma prima di fare ciò, vale la pena condividere che tutti gli esempi/istruzioni menzionati in questo articolo sono stati testati su Ubuntu 16.04LTS.
Comando cp di Linux
Se hai bisogno di eseguire un’operazione di copia sulla riga di comando, cp dovrebbe essere il tuo comando di riferimento. Secondo la sua pagina man, lo strumento può essere utilizzato per copiare sia file che directory. Ecco la sintassi generica del comando:
cp [OPZIONE]... SOURCE DESTIl comando sopra copia SOURCE in DEST. I seguenti esempi di tipo Q&A ti daranno un’idea migliore di come funziona lo strumento.
Q1. Come eseguire un’operazione di copia di base?
L’uso di base di cp è molto semplice: tutto ciò che devi fare è specificare la sorgente e la destinazione. Ad esempio, il seguente comando copia ‘file1’ presente nella directory di lavoro corrente nella directory Desktop:
cp file1 ~/DesktopQ2. Come far sì che cp chieda prima di sovrascrivere?
Se la destinazione in cui stai copiando il file contiene già un file con lo stesso nome, il comando cp sovrascrive silenziosamente il file esistente. Tuttavia, se lo desideri, puoi far sì che lo strumento chieda prima di eseguire la sovrascrittura. Questo può essere fatto eseguendo cp in modalità interattiva, che è abilitata utilizzando l’opzione -i.
Ad esempio:
cp -i file1 ~/Desktop/Come puoi vedere nello screenshot sopra, l’opzione -i fa sì che cp chieda all’utente se sovrascrivere o meno il file esistente con lo stesso nome nella directory di destinazione.
Q3. Come forzare cp a non sovrascrivere un file esistente?
A volte, potresti non voler che cp sovrascriva un file esistente e non vuoi nemmeno abilitare l’opzione interattiva di cui abbiamo appena discusso nella sezione precedente. In queste situazioni, puoi utilizzare l’opzione della riga di comando -n.
Ad esempio:
cp -n file1 ~/Desktop/Si prega di notare che -n sovrascrive l’opzione -i, il che significa che anche se hai usato -i con -n, il comando non verrà eseguito in modalità interattiva.
Q4. Come copiare directory usando cp?
Per impostazione predefinita, il comando cp funziona solo per i file. Se provi a copiare una directory, probabilmente riceverai un errore “cp: omitting directory”. Quindi, ogni volta che è necessario copiare una directory, utilizza l’opzione della riga di comando -r.
Ad esempio:
cp -r dir ~/DesktopQ5. Come creare collegamenti simbolici usando il comando cp?
Se lo desideri, puoi anche chiedere a cp di creare un collegamento simbolico invece di copiare effettivamente un file. Questo può essere fatto utilizzando l’opzione della riga di comando -s.
Ad esempio:
cp -s ~/htf-daily/file1 ~/Desktop/Q6. Come far sì che cp sovrascriva il file di destinazione solo se la sorgente è più recente?
A volte, la richiesta è di sovrascrivere un file esistente solo quando il file sorgente è più recente: pensa a questo processo come all’aggiornamento del file. Questo può essere fatto utilizzando l’opzione della riga di comando -u.
Ad esempio, supponiamo che tu voglia copiare ‘file1’ presente nella directory di lavoro corrente nella directory Desktop, ma la destinazione ha già un file chiamato ‘file1’. E vuoi copiare solo se la sorgente è più recente della destinazione. Questo può essere realizzato utilizzando il seguente comando:
cp -u file1 ~/DesktopQ7. Come far sì che cp non segua i collegamenti simbolici nella sorgente?
Per impostazione predefinita, il comando cp segue i collegamenti simbolici nella sorgente. Questo significa che, ad esempio, se stai cercando di copiare un file che è un collegamento simbolico a un altro, per impostazione predefinita, l’azione di copia viene eseguita sul file a cui si riferisce il collegamento simbolico. Ciò che intendo dire è che, se ~/Desktop/file1 è un collegamento simbolico a ~/htf-daily/file1, e provi a copiare ~/Desktop/file1 in ~/Downloads, allora ~/htf-daily/file1 verrà copiato lì.
Tuttavia, se la richiesta è di copiare il collegamento simbolico stesso, questo può essere reso possibile utilizzando l’opzione della riga di comando -P, che chiede a cp di non seguire i collegamenti simbolici nella sorgente. Quindi, nel nostro caso, il comando sarebbe:
cp -P ~/Desktop/file1 ~/Downloads/Q8. Come copiare solo gli attributi del file?
A volte, la richiesta potrebbe essere solo quella di copiare gli attributi (come proprietà e timestamp), e non il contenuto del file. Questo può essere ottenuto utilizzando l’opzione della riga di comando –attributes-only insieme all’opzione –preserve.
Ad esempio, file1 ha i seguenti attributi:
-rw-rw-r-- 1 root himanshu 97 Jun 14 17:18 file1E file2 ha i seguenti attributi:
-rw-rw-r-- 1 root himanshu 179 May 25 15:09 file2*Nota: Puoi utilizzare il comando ls per recuperare questi attributi per un file. Per ulteriori informazioni su ls, vai qui.*
E la richiesta è di copiare gli attributi di file2 e averli anche per file1, ecco come può essere fatto:
cp --attributes-only --preserve file2 file1Ecco il comando sopra menzionato in azione:
Conclusione
Come puoi concordare, l’uso di base del comando cp non è molto difficile da comprendere. In questo tutorial, abbiamo cercato di coprire la maggior parte delle opzioni utili della riga di comando. Provali dalla tua parte e dopo, vai alla pagina man dello strumento per vedere quali altre funzionalità/opzioni offre il comando. In caso di dubbi o domande, lascia un commento qui sotto.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.