Comandi Linux

Padroneggiare il comando Copia file di Linux con esempi

Padroneggiare il comando Copia file di Linux con esempi
Su qualsiasi sistema operativo, la copia di file e directory è una delle azioni più comuni che un utente fa. Sulla riga di comando di Linux, puoi imparare l'uso corretto del comando cp per personalizzare e padroneggiare la copia dei file in base alle tue esigenze. In questo articolo spiegheremo l'utilizzo del comando cp di Linux presentando alcuni esempi utili.

Abbiamo eseguito i comandi e gli esempi menzionati in questo articolo su un sistema Debian 10 Buster ma puoi replicarli su quasi tutte le distribuzioni Linux.

La riga di comando di Linux, il Terminale, è facilmente accessibile tramite l'applicazione.  Ricerca di avvio come segue:

Esempio 1: copia di un singolo file in una directory di destinazione

L'uso più semplice del comando cp è copiare un singolo file sorgente in una directory di destinazione. Ecco la sintassi che puoi usare per farlo:

$ cp file sorgente /destinazione/directory

Esempio:

In questo esempio, sto copiando un file chiamato sample_file.txt nella mia cartella Documenti:

Successivamente, ho verificato la presenza del file nella cartella di destinazione tramite il comando ls.

Esempio 2: copia di più file in una directory di destinazione

Con il comando cp, puoi copiare più file in una directory di destinazione utilizzando la seguente sintassi:

$ cp sourcefile1 sourcefile2 sourcefile3…   /target/directory

Esempio:

In questo esempio, sto copiando due file di esempio nella mia cartella Documenti tramite il comando cp:

Successivamente, ho verificato la presenza di questi file nella cartella di destinazione tramite il comando ls.

Esempio 3: Copia di file in modo interattivo

Se esiste un file con lo stesso nome nella cartella di destinazione, è possibile utilizzare il comando cp per chiedere prima di sovrascrivere il file di destinazione. È possibile utilizzare l'opzione -i nel modo seguente:

$ cp -i file sorgente /destinazione/directory

Esempio:

In questo esempio, un file denominato file_campione.txt esiste già nella mia cartella Documenti, quindi il comando cp, con il flag -i, mi chiede se voglio sovrascriverlo. Il file verrà sovrascritto se inserisco y a questo prompt.

Esempio 4: copia di file insieme a un output dettagliato

Un output dettagliato stampa cosa sta facendo il comando. Questo può essere incorporato nel comando cp con l'opzione -v come segue:

$ cp -v file di origine /destinazione/directory

Esempio:

Puoi vedere nell'esempio seguente come il comando cp stampa un output dettagliato durante la copia di un comando:

Esempio 5: copia ricorsiva di una directory

L'uso dell'opzione -r con il comando cp copia ricorsivamente tutti i file e le cartelle in una directory in un'altra posizione. Ecco come puoi usare il comando cp in questo scenario:

$ cp -r directory1 directory2

Esempio:

Nell'esempio seguente, l'intera cartella 1, con tutti i suoi file, verrà copiata nella cartella2.

In seguito ho verificato il contenuto di folder2 tramite il comando ls. La cartella2 ora contiene una copia della cartella di origine.

Esempio 6: copia ricorsiva di una directory mantenendo un archivio

Usando l'opzione -a con il comando cp, puoi fare due cose contemporaneamente:

Ecco come puoi usare il comando cp in questo scenario:

$ cp -a directory1 directory2

Esempio:

Nell'esempio seguente, tutta l'intera cartella 1, con tutti i suoi file, verrà copiata nella cartella2. Inoltre, i file verranno archiviati come verificato in seguito tramite il comando 'ls -l'.

Esempio 7: copia un file nel caso in cui sia più recente del file di destinazione

A volte vuoi copiare un file nella directory di destinazione solo se è più recente del file di destinazione. Questo può essere fatto usando l'opzione -u con il comando cp:

$ cp -u sourcefileORsourcedirectory /target/directory

Esempio:

In questo esempio, ho modificato un file sample_file.txt dalla mia cartella di origine. Questi file sono già stati copiati nella cartella di destinazione prima di modificare il file. Questo può essere visto nel seguente output del comando 'ls -l':

Ora, quando ho copiato la cartella di origine nella cartella di destinazione, l'output dettagliato ha verificato che verrà copiato solo quel file che è stato modificato da me.

Esempio 8: copia un file ma non sovrascriverlo se esiste già un file di destinazione

Puoi dire al comando cp di non sovrascrivere il file se esiste già nella posizione di destinazione. Questo può essere fatto tramite l'opzione -n ​​come segue:

$ cp -n file sorgente /destinazione/directory

Esempio:

In questo esempio, ho prima provato a copiare un file nella posizione di destinazione in cui esisteva già. L'opzione -i mi ha chiesto se voglio sovrascriverlo.

Nel secondo comando, ho aggiunto l'opzione -n. Ha ignorato l'opzione -i ma non ha sovrascritto il file già esistente nella directory di destinazione.

Esempio 9: creare un collegamento simbolico a un file nella directory di destinazione

Con l'opzione -s nel comando cp, puoi creare un collegamento simbolico al file di origine nella cartella di destinazione invece di copiare il file di origine.

$ cp -s file di origine /destinazione/directory

Esempio:

Nell'esempio seguente, ho creato un collegamento simbolico al file sample_file.txt nella cartella di destinazione.

Successivamente ho verificato la presenza del collegamento simbolico nella cartella di destinazione tramite il comando 'ls -l'.

Esempio 10: creare un collegamento reale a un file nella directory di destinazione

Quando crei un collegamento reale a un file in un'altra cartella, il file non viene copiato nella cartella di destinazione; viene invece creato un hard link al file sorgente. Il numero di inode sia del file sorgente che dell'hard link copiato è lo stesso. Ecco come creare un hard link:

$ cp -l file di origine /destinazione/directory

Esempio:

In questo esempio, ho creato un collegamento reale al file di origine nella cartella Documenti.

Tramite il comando 'ls -il' ho verificato che sia il file originale che l'hard link hanno gli stessi numeri di inode.

Questo era tutto ciò che dovevi sapere per padroneggiare il comando cp in Linux. Usando una combinazione di questi commutati, puoi rendere la copia dei file molto più personalizzabile.

I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...
Rimappa i pulsanti del mouse in modo diverso per software diversi con X-Mouse Button Control
Forse hai bisogno di uno strumento che possa cambiare il controllo del tuo mouse con ogni applicazione che utilizzi. In questo caso, puoi provare un'a...