Copia file e directory utilizzando il terminale Linux
-
Copia file utilizzando il comando
cp -
Copiare i file in una directory utilizzando il comando
cp - Copia più file
-
Copiare le directory usando il comando
cp -
Copiare file e directory utilizzando il comando
rsync
Possiamo copiare file e directory con i comandi cp e rsync usando il terminale Linux. Il comando cp è generalmente usato per copiare file mentre il comando rsync è generalmente usato per copiare directory.
Copia file utilizzando il comando cp
Usiamo il comando cp nei sistemi operativi Linux e Unix per copiare file e directory.
Per copiare il contenuto del file abc.txt in un altro file backup.txt, usiamo il seguente comando:
cp abc.txt backup.txt
Copia il contenuto in abc.txt in backup.txt. Qui entrambi i file devono essere nella directory di lavoro corrente.
Se il file di destinazione esiste già, il contenuto del file di destinazione verrà sovrascritto.
Possiamo aggiungere il flag -i al comando cp per ottenere un prompt di conferma prima di copiare.
cp -i abc.txt backup.txt
Produzione:
cp: overwrite 'backup.txt'?
Se vogliamo copiare il file, premiamo il tasto Y e premiamo Enter.
Per avere informazioni o un’idea di cosa si sta facendo usando il comando cp, possiamo usare il flag -v con il comando cp.
cp -v abc.txt backup.txt
Produzione:
'abc.txt' -> 'backup.txt'
Mostra che il contenuto di abc.txt viene copiato in backup.txt.
Copiare i file in una directory utilizzando il comando cp
Per copiare un file in una directory, usiamo il comando cp. Il primo argomento del comando cp sarà il nome del file da copiare, e il secondo argomento sarà il percorso assoluto o relativo della directory in cui il file deve essere copiato.
cp abc.txt ./test
Copia il file abc.txt nella directory di lavoro corrente nella cartella nella directory di lavoro corrente test.
Per copiare il file nella directory particolare con un nome diverso dal file genitore, possiamo specificare il nome del file come:
cp abc.txt ./test/test.txt
Copia il file abc.txt nella cartella test con il nome test.txt.
Copia più file
Possiamo copiare più file e directory in una particolare directory usando il comando cp specificando tutti i file sorgente e le directory seguiti dalla directory di destinazione alla fine.
cp abc.txt backup.txt test backup
Questo copia i file abc.txt e backup.txt e la cartella test nella cartella backup.
Il comando cp consente anche la corrispondenza dei modelli.
cp *.txt backup
Questo copia tutti i file con estensione .txt nella directory di lavoro corrente nella cartella backup.
Copiare le directory usando il comando cp
Usiamo il flag -r o -R insieme al comando cp per copiare la directory e le sue sottodirectory e file nella directory di destinazione.
cp -r pp Project
Copia l’intera directory pp e le sue sottodirectory e file nella directory di destinazione Project.
In questo esempio, ci sarà una directory pp all’interno della directory Project.
Tuttavia, se desideriamo copiare solo file e sottodirectory, usiamo il flag -T insieme al flag -R.
cp -RT pp Project
Copia le sottodirectory e i file della directory pp nella directory di destinazione Project.
Copiare file e directory utilizzando il comando rsync
rsync è un’utilità della riga di comando per sincronizzare file e directory tra due host. Se sia il percorso di origine che quello di destinazione rappresentano il localhost, il comando rsync si comporta come un comando di copia.
rsync -a abc.txt backup.txt
Copia il contenuto di abc.txt in backup.txt.
Qui, il flag -a tiene conto della conservazione di collegamenti simbolici, tempi di modifica, gruppo, proprietà e autorizzazioni durante la copia.
Allo stesso modo, possiamo copiare una directory in un’altra directory.
rsync -a /abc /backup-abc
Copia il contenuto della directory abc nella directory di destinazione backup-abc.
Qui, se omettiamo la barra finale /, la directory di origine verrebbe copiata all’interno della directory di destinazione.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn