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:
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.