Padroneggiare il comando file di copia Linux con esempi

Padroneggiare il comando file di copia Linux con esempi
Su qualsiasi sistema operativo, la copia di file e directory è una delle azioni più comuni che un utente intraprende. Nella riga di comando di Linux, puoi imparare l'utilizzo corretto del comando CP per personalizzare e padroneggiare il file di file in base alle tue esigenze. In questo articolo, spiegheremo l'uso del comando CP 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 distro Linux.

La riga di comando Linux, il terminale, può essere facilmente accessibile tramite l'applicazione. Cerca il lanciatore come segue:

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

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

$ CP SourceFile /Target /Directory

Esempio:

In questo esempio, sto copiando un file denominato sample_file.txt alla cartella dei miei documenti:

Più tardi, ho verificato la presenza del file nella cartella di destinazione tramite il comando LS.

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

Con il comando CP, è possibile 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 cartella dei miei documenti tramite il comando CP:

Più tardi, 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 target, è possibile utilizzare il comando CP per richiedere prima di sovrascrivere il file di destinazione. È possibile utilizzare l'interruttore -i nel modo seguente:

$ cp -i sourcefile /target /directory

Esempio:

In questo esempio, un file denominato sample_file.txt esiste già nella cartella dei miei documenti, quindi il comando CP, con il flag -i, mi spinge se voglio sovrascriverlo. Il file verrà sovrascritto se inserisco y a questo prompt.

Esempio 4: copia di file insieme a un output verboso

Un output verboso stampa ciò che sta facendo il comando. Questo può essere incorporato nel comando CP con l'interruttore -v come segue:

$ cp -v sourcefile /target /directory

Esempio:

Puoi vedere nel seguente esempio come il comando CP stampica un output verboso durante la copia di un comando:

Esempio 5: Copia di una directory in modo ricorsivo

L'uso dell'opzione -r con il comando CP copia in modo ricorsivo tutti i file e le cartelle in una directory in un'altra posizione. Ecco come è possibile utilizzare 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 in cartella2.

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

Esempio 6: copiare una directory in modo ricorsivo mantenendo un archivio

Usando l'interruttore -a con il comando CP, puoi fare due cose contemporaneamente:

  • Copia i file di una directory in modo ricorsivo a un'altra directory
  • Conservare le autorizzazioni, il timestamp, i collegamenti simbolici e tutte queste proprietà intatte durante la copia dei file.

Ecco come è possibile utilizzare il comando CP in questo scenario:

$ cp -a directory1 directory2

Esempio:

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

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

A volte si desidera copiare un file nella directory di destinazione solo se è più nuovo del file di destinazione. Questo può essere fatto utilizzando l'interruttore -u con il comando CP:

$ CP -U SourceFileoSourcediRectory /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 target 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 target, l'output verboso ha verificato che solo quel file verrà copiato che è stato modificato da me.

Esempio 8: copiare un file ma non sovrascrivere 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'interruttore -n come segue:

$ cp -n sourcefile /target /directory

Esempio:

In questo esempio, ho provato per la prima volta a copiare un file nella posizione di destinazione in cui esisteva già. Lo switch -i mi ha spinto se voglio sovrascriverlo.

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

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

Con l'interruttore -s nel comando CP, è possibile creare un collegamento simbolico al file di origine nella cartella di destinazione invece di copiare il file di origine.

$ cp -s sourcefile /target /directory

Esempio:

Nel seguente esempio, ho creato un collegamento simbolico al file sample_file.txt nella cartella target.

In seguito ho verificato la presenza del collegamento simbolico nella cartella target attraverso il comando "ls -l".

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

Quando si crea un collegamento duro a un file in un'altra cartella, il file non viene copiato nella cartella di destinazione; Invece, viene creato un collegamento difficile al file di origine. Il numero di inode sia del file di origine che del collegamento duro copiato è lo stesso. Ecco come creare un collegamento difficile:

$ cp -l sourcefile /target /directory

Esempio:

In questo esempio, ho creato un collegamento difficile al file di origine nella cartella dei documenti.

Attraverso il comando 'ls -il', ho verificato che sia il file originale che il collegamento Hard 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, è possibile rendere la copia di file molto più personalizzabile.