Sto cercando di copiare il contenuto di una cartella in un'altra cartella in una directory diversa usando il terminale.
Qualcuno potrebbe fornirmi un esempio della sintassi della linea di comando necessaria per ottenere questo risultato?
Potete copiare il contenuto di una cartella /source
in un'altra cartella esistente /dest
con il comando
cp -a /source/. /dest/
L'opzione -a
è un'opzione ricorsiva migliorata, che conserva tutti gli attributi dei file e anche i collegamenti simbolici.
Il .
alla fine del percorso sorgente è una sintassi specifica di cp
che permette di copiare tutti i file e le cartelle, inclusi quelli nascosti.
Un'alternativa è rsync
rsync -r source/ destination
I vantaggi di rsync sono:
Dopo la sincronizzazione iniziale, copia solo i file che sono cambiati.
Puoi usarlo su una rete, conveniente per i file in $HOME, specialmente i file di configurazione.
Diciamo che hai una cartella chiamata cartella1 nel tuo ~
, dentro cartella1 c'è 1 file chiamato file1 e 2 cartelle chiamate sub1 e sub2 ciascuna con altri file e cartelle al loro interno.
Per copiare tutto il contenuto di ~/folder1
in ~/new_folder1
dovresti usare
cp -r ~/folder1/. ~/new_folder1
new_folder1
conterrebbe quindi tutti i file e le cartelle di folder1
.
cp
è il comando per copiare usando un terminale, -r
lo fa in modo ricorsivo (quindi, directory corrente + ulteriori directory all'interno della corrente) ~/folder1
è la cartella di origine, ~/new_folder1
è la cartella di destinazione per i file/cartelle all'interno dell'origine.