GNU/Linux >> Linux Esercitazione >  >> Linux

Come copiare file e directory nel terminale Linux

La duplicazione e la copia di documenti e registri è probabilmente l'attività più ampiamente riconosciuta e utilizzata che eseguirai quando lavori con la riga di comando di Linux. In Linux, ci sono alcuni ordini per duplicare documenti, gli ordini cp e rsync sono i più conosciuti.

La maggior parte degli utenti Linux utilizza e usa frequentemente il comando cp quando copia i file e il comando rsync quando copia le directory.

Prima di iniziare

Per poter copiare file e directory, devi avere almeno i permessi di lettura sui file di origine e i permessi di scrittura sulle directory di destinazione.

Copiare file con il comando cp

Il comando cp è un'utilità della riga di comando per copiare file e directory su un sistema Linux da una posizione all'altra sulla stessa macchina.

Il caso d'uso più semplice consiste nel copiare i file nella directory di lavoro corrente. Ad esempio, per copiare un file denominato file.txt nella directory corrente come file_backup.txt, eseguire il comando seguente:

cp file.txt file_backup.txt 

Se il file di destinazione esiste, i file con lo stesso nome ed estensione verranno sovrascritti. Per richiedere la conferma, utilizzare le opzioni -i .

cp -i file.txt file_backup.txt 

Quando si utilizza il comando cp per copiare i file, i nuovi file saranno di proprietà dell'utente che esegue il comando. Usa l'opzione -p per preservare la modalità del file, la proprietà e i timestamp :

cp -p file.txt file_backup.txt 

Un'altra opzione che potrebbe essere utile è -v . Quando si utilizza questa opzione il comando stamperà ciò che si sta facendo:

cp -v file.txt file_backup.txt 
'file.txt' -> 'file_backup.txt' 

Copia file in un'altra directory

Per copiare un file in un'altra directory, è necessario specificare un percorso assoluto o relativo alla directory di destinazione. Nell'esempio seguente, copiamo il file file.txt nella directory /backup :

cp file.txt /backup 

Quando si specifica solo il nome della directory come destinazione, il file copiato avrà lo stesso nome del file originale.

Se vuoi copiare un file con un nome diverso, devi specificare il nome del file desiderato:

cp file.txt /backup/file_baru.txt 

Il comando precedente copierà il file nella directory specificata come file_baru.txt .

Copia più file

È anche possibile copiare più file contemporaneamente specificando i nomi dei file seguiti dalla directory di destinazione:

cp file.txt file1.txt file2.txt directory 

Quando si copiano più file, la destinazione deve essere una directory.

Il comando cp consente anche di utilizzare la corrispondenza dei modelli. Ad esempio, per copiare tutti i file png dalla directory corrente alla directory /backup che utilizzerai:

cp *.png /backup 

Come copiare la directory in Linux con il comando cp

Per copiare una directory, inclusi tutti i file e le sottodirectory, utilizzare l'opzione -R. Nell'esempio seguente copiamo la directory ~/Pictures nella directory ~/Pictures_backup :

cp -R Pictures Pictures_backup 

Il comando precedente creerà una directory di destinazione e copierà ricorsivamente tutti i file e le sottodirectory dalla directory di origine alla directory di destinazione.

Le opzioni utilizzate durante la copia dei file possono essere utilizzate anche durante la copia delle directory. La differenza principale è che quando si copiano le directory è necessario utilizzare le opzioni -R .

Come copiare file e directory su Linux con il comando rsync

Rsync è un'utilità da riga di comando veloce e versatile. Rsync sincronizza file e directory tra due posizioni. Rsync può essere utilizzato per copiare file in una posizione locale o remota.

Rsync fornisce una serie di opzioni che controllano ogni aspetto del suo comportamento. Le opzioni più utilizzate sono -a che copierà le directory in modo ricorsivo, trasferirà dispositivi personalizzati e bloccherà, conserverà collegamenti simbolici , tempi di modifica, gruppi, proprietà e autorizzazioni di file.

Per copiare un file da una posizione all'altra puoi usare il seguente comando:

rsync -a file.txt file_backup.txt 

Se il file di destinazione esiste, rsync lo sovrascriverà.

Puoi usare lo stesso comando di cui sopra per copiare le directory con rsync:

rsync -a / var / www / public_html / / var / www / public_html_backup / 

Nota che Rsync considera le barre / alla fine della fonte con un concetto diverso. Se aggiungi una barra finale alla directory di origine, copierà solo il contenuto di la directory nella directory di destinazione. Quando la barra finale viene rimossa, rsync copia la directory sorgente nella directory di destinazione.

Conclusione

In questa guida abbiamo imparato a copiare file e directory su sistemi basati su Linux e Unix utilizzando le utilità cp e rsync.

Come installare e configurare Mono su Rocky Linux 8 e CentOS 8


Linux
  1. Copia i file nel terminale Linux

  2. Un modo semplice per nascondere file e directory in Linux

  3. Come eliminare file e directory in Linux dalla riga di comando

  4. Come estrarre i file .gz e .tar.gz in Linux

  5. Come copiare / spostare file e directory in Linux con i comandi "cp" e "mv".

Come utilizzare il comando cp per copiare file e directory

Come eseguire il backup e il ripristino della cronologia del terminale Linux

Tutto sui file tar e su come tar, untar file in Linux usando il terminale

Come visualizzare e creare file e directory nascosti in Linux

Come rinominare file e directory in Linux

Come rimuovere file e directory su terminale Linux