GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come copiare file e directory in Linux

Introduzione

Questa guida ti mostrerà come copiare file e directory in Linux eseguendo i comandi dalla riga di comando. Inoltre, i comandi elencati di seguito descrivono in dettaglio come creare backup a livello di sistema o filtrare e copiare solo file specifici.

Utilizzo del comando cp per copiare file e directory in Linux

Il cp command è il metodo principale per copiare file e directory in Linux. Praticamente tutte le distribuzioni Linux possono utilizzare cp . Il formato base del comando è:

cp [additional_option] source_file target_file

Ad esempio:

cp my_file.txt my_file2.txt

Questo comando Linux crea una copia di my_file.txt file e rinomina il nuovo file in mio_file2.txt .

Per impostazione predefinita, il cp il comando viene eseguito nella stessa directory in cui stai lavorando. Tuttavia, lo stesso file non può esistere due volte nella stessa directory. Dovrai cambiare il nome del file di destinazione da copiare nella stessa posizione. Alcuni utenti aggiungeranno _old , alcuni aggiungeranno un numero e altri addirittura cambieranno l'estensione di tre lettere (ad es. .bak invece di .txt ).

Potresti non ricevere un avviso prima che Linux sovrascriva il tuo file:fai attenzione o vedi sotto per il –i opzione.

Opzioni aggiuntive

Ulteriori opzioni possono essere utilizzate in combinazione con il cp comando:

  • –v prolisso :mostra lo stato di avanzamento di più file copiati
  • –p conserva :mantiene gli stessi attributi, come la data di creazione e i permessi dei file
  • –f forza :forza la copia eliminando prima un file esistente
  • –i interattivo :richiede conferma, altamente consigliato
  • –R ricorsivo :copia tutti i file e le sottocartelle in una directory
  • –u aggiorna :copia solo se l'origine è più recente della destinazione

Come copiare file in un'altra directory in Linux

Per copiare un file dalla directory in cui stai lavorando in una posizione diversa, usa il comando:

cp my_file.txt /new_directory

Non è necessario rinominare il file a meno che non ce ne sia già uno con lo stesso nome nella directory di destinazione.

Per specificare un percorso per il file di origine:

cp /etc/my_file.txt /new_directory

Ciò ti consente di copiare senza dover cambiare directory. Il cp il comando creerà la /nuova_directory se non esiste.

Per rinominare e copiare un file in un percorso diverso:

cp my_file.txt /new_directory/my_file2.txt

Questa opzione è utile per creare backup di file di configurazione o per copiare dati su un dispositivo di archiviazione.

Copia più file da una directory all'altra in Linux

Potrebbe essere necessario copiare più di un file alla volta.

Elenca ogni file da copiare prima della directory di destinazione:

cp my_file.txt my_file2.txt my_file3.txt /new_directory

Questo esempio ha creato una copia di tutti e tre i file nella /new_directory cartella.

Utilizza un carattere jolly per specificare tutti i file che condividono una stringa di caratteri:

cp /pictures/*.jpg /new_directory

Questo troverebbe tutti i file con .jpg estensione in /immagini directory e copiali nella /nuova_directory cartella.

Per copiare un intera cartella e relative sottocartelle e file , usa il –R opzione:

cp –R /documents /new_directory

–R sta per ricorsivo, che significa "tutto in quella posizione". Questo copierebbe tutti i file, così come tutte le directory, nella /nuova_directory cartella.

Copia usando il comando rsync

Il comando rsync in Linux viene utilizzato per sincronizzare o trasferire dati tra due posizioni. L'utilizzo è simile a cp , ma ci sono alcune differenze fondamentali da notare.

Per copiare un singolo file, inserisci quanto segue in un terminale:

rsync –a my_file.txt /new_directory/my_file_backup.txt
  • Il –a opzione significa tutti ed è incluso in rsync comandi:preserva le sottodirectory, i collegamenti simbolici e altri metadati.
  • Sostituisci il mio_file.txt file nella directory di lavoro.
  • Sostituisci /nuova_directory/ con la destinazione.
  • Utilizzo di my_file_backup.txt poiché la destinazione indica che il file verrà rinominato durante la copia.

Per copiare una directory con rsync, inserisci quanto segue:

rsync –a /etc/docker/ /home/backup/docker/

Questo copia il contenuto di /etc/docker/ directory in /home/backup/docker/ . Assicurati di mantenere le barre. L'omissione della barra nella directory di origine copierà il contenuto in una sottodirectory.

Per evitare che i file vengano copiati, consulta la nostra guida su come escludere file e directory nel trasferimento dati utilizzando il comando rsync.

Altre opzioni

Il ls command è un pratico partner per cp comando in Linux.

Per elencare il contenuto di una directory, digitare il comando:

ls /directory

L'esempio sopra mostra tutti i file in /directory . Utilizzare questo comando dopo la copia per verificare che i file siano stati copiati correttamente.

Per cambiare directory, usa cd e il nome della directory. Ad esempio:

cd /other_directory

Il prompt dei comandi cambierà per mostrare che hai cambiato directory.


Ubuntu
  1. Copia file e directory in Linux

  2. Come archiviare file e directory in Linux [Parte 2]

  3. Come archiviare file e directory in Linux [Parte 1]

  4. Linux Elimina file e directory

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

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

Come copiare file in Linux usando il comando CP

Come copiare file e directory nel terminale Linux

Come eliminare file e directory utilizzando la riga di comando di Linux