Come copiare directory/cartella in Linux tramite la riga di comando!
Ci sono vari comandi nei sistemi operativi Linux per copiare una cartella. Il comando cp ti aiuta a farlo. Per organizzare i file sul tuo server, avrai bisogno di copiare. Con il comando cp, puoi copiare una directory e un’intera sottodirectory con il suo contenuto e tutto ciò che c’è sotto. cp e rsync sono uno dei comandi più popolari per copiare file e directory.
In questo tutorial, spiegheremo come copiare la cartella nel sistema operativo Linux.
Sintassi di base del comando cp
il comando cp è usato per copiare file o directory in Linux. Crea una copia esatta di un file su un disco con un nome diverso.
La sintassi di base del comando cp è mostrata qui sotto:
cp Source Destination
cp Source-1 Source-2 Source-3 Destination
Si dovrebbero vedere tutte le opzioni disponibili con il comando cp eseguendo il seguente comando:
cp --help
Si dovrebbe vedere la seguente schermata:
Copiare le directory con il comando cp
Se vuoi copiare la directory, inclusi tutti i suoi file e sottodirectory, usa l’opzione -R o -r con il comando cp.
Per esempio, copiate la directory /etc nella directory /opt con il seguente comando:
cp -R /etc /opt/
Il comando precedente creerà una directory di destinazione e copierà tutti i file e le sottodirectory ricorsivamente nella directory /opt.
Se la directory di destinazione esiste già e volete copiare solo i file e le sottodirectory ma non le directory di destinazione, eseguite il comando cp con l’opzione -T come mostrato di seguito:
cp -RT /etc /opt/
Se vuoi preservare gli attributi specificati come proprietà, timestamp, contesto e collegamenti, esegui il comando cp con l’opzione -a come mostrato di seguito:
cp -aR /etc /opt/
Se vuoi visualizzare l’output durante il processo di copia, usa l’opzione -v con il comando cp:
cp -avR /etc /opt/
Dovresti vedere l’output come mostrato di seguito:
Se vuoi copiare solo il contenuto della directory /etc in /opt, dovrai specificare il carattere jolly stella come mostrato di seguito:
cp -avR /etc/* /opt/
Se vuoi copiare più directory come /etc e /var in /opt esegui il seguente comando:
cp -avR /etc /var /opt/
Nota: Per copiare le directory, devi avere i permessi di lettura sulla directory sorgente e i permessi di scrittura sulla directory di destinazione.
Copiare le directory con il comando rsync
rsync è uno strumento avanzato di copia dei file che ti permette di copiare le directory tra la posizione locale e quella remota.
La sintassi di base del comando rsync è mostrata qui sotto:
rsync SOURCE DESTINATION
Puoi vedere tutte le opzioni disponibili con il comando rsync come mostrato qui sotto:
rsync --help
Si dovrebbe vedere la seguente schermata:
Per copiare la directory /etc in /opt, eseguite il seguente comando:
rsync -a /etc /opt
Nel comando precedente l’opzione -a copierà una directory con tutti i suoi permessi e altre informazioni inclusa la copia ricorsiva. Se la directory di destinazione esiste, rsync la sovrascriverà.
Se vuoi copiare solo il contenuto della directory /etc allora metti una barra finale / alla fine di /etc:
rsync -a /etc/ /opt
Puoi usare rsync con l’opzione -v per visualizzare l’output verboso come mostrato sotto:
rsync -av /etc /opt
Dovresti vedere la seguente schermata:
Se vuoi visualizzare il progresso durante il processo di copia, esegui rsync con l’opzione -P come mostrato di seguito:
rsync -avP /etc /opt
Puoi anche usare l’opzione -z con il comando rsync per comprimere i dati dei file durante il trasferimento:
rsync -avz /etc /opt
Se si vuole escludere una specifica directory dalla sorgente, eseguire il seguente comando:
rsync -a --exclude 'directoryname' /opt/
Per escludere più directory, eseguire il seguente comando:
rsync -a --exclude {'directory1', 'directory2', 'directory3'} /opt/
Se volete copiare più directory in /opt, eseguite il seguente comando:
rsync -a /etc /usr /opt/
Conclusione
Nel tutorial precedente, abbiamo imparato come copiare una directory con i comandi cp e rsync. Per maggiori informazioni, potete visitare la documentazione ufficiale di Rsync all’indirizzo Rsync Doc.
.