Quali comandi Linux posso utilizzare per copiare una directory?
I comandi più comuni per copiare una directory su Linux sono cp e rsync.
Il comando “cp” è il più semplice da usare. Per copiare una directory chiamata “dir1” nel percorso di destinazione “dir2”, è sufficiente digitare il seguente comando nel terminale:
cp -r dir1 dir2
Il comando “-r” indica a “cp” di copiare in modo ricorsivo, inclusi tutti i file e le sotto-directory contenuti nella directory “dir1”.
Posso copiare solo i file e non le sottodirectory?
Sì, è possibile copiare solo i file senza copiare le sottodirectory. Per farlo, è necessario utilizzare il comando “rsync”.
Per copiare solo i file da “dir1” a “dir2”, digita il seguente comando nel terminale:
rsync -av –exclude ‘*/’ dir1/ dir2
Il comando “-a” indica a “rsync” di copiare in modo ricorsivo mantenendo i permessi e le informazioni sui file (come data di creazione e proprietario).
E se la directory di destinazione non esiste?
Se la directory di destinazione non esiste, il comando “cp” creerà una nuova directory con lo stesso nome e copierà la directory sorgente al suo interno.
Con il comando “rsync”, è necessario creare manualmente la directory di destinazione prima di eseguire la copia. Puoi farlo digitando il seguente comando nel terminale:
mkdir dir2
E se la directory di destinazione esiste già?
Se la directory di destinazione esiste già, sia “cp” che “rsync” sovrascriveranno i file e le sottodirectory esistenti con quelli della directory sorgente. Tieni presente che questa operazione è irreversibile e potrebbe portare alla perdita di dati.
Posso copiare una directory da una macchina Linux a un’altra?
Sì, puoi copiare una directory da una macchina Linux a un’altra utilizzando il comando “scp” (Secure Copy).
Per esempio, se desideri copiare la directory “dir1” dalla macchina locale alla macchina remota, digita il seguente comando nel terminale:
scp -r dir1 user@remote:/home/user/
Il comando “-r” indica a “scp” di copiare in modo ricorsivo. “user” è il nome utente della macchina remota e “/home/user/” è il percorso di destinazione sul server remoto.
Posso copiare una directory dal server remoto alla mia macchina locale?
Sì, puoi copiare una directory dal server remoto alla tua macchina locale usando lo stesso comando “scp”.
Ad esempio, se vuoi copiare la directory “dir1” dal server remoto alla tua macchina locale, esegui il seguente comando nel terminale sulla tua macchina locale:
scp -r user@remote:/home/user/dir1 .
Il punto finale indica la directory di destinazione corrente.
Seguendo questa guida rapida, avrai una comprensione di base su come copiare una directory su Linux utilizzando diversi comandi. Ricorda sempre di fare attenzione quando sovrascrivi file e sottodirectory esistenti, per evitare la perdita dei dati.