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