GNU/Linux >> Linux Esercitazione >  >> Linux

Come copiare una directory nella riga di comando di Linux [Suggerimento per principianti]

Se non conosci la riga di comando di Linux, probabilmente hai in mente questa domanda:come faccio a copiare una directory e i file al suo interno in un'altra directory nella riga di comando di Linux?

Ecco come copiare una directory in Linux:

cp -r source_directory destination_directory

Probabilmente sai già che puoi usare il comando cp per copiare file in Linux. Sai che puoi usare lo stesso comando cp per copiare una cartella nella riga di comando di Linux?

Ah! L'hai già provato e forse hai ricevuto questo errore:

cp: -r not specified; omitting directory 'test_dir'

Lascia che ti mostri una o due cose sulla copia di directory in Linux.

Copia directory nella riga di comando di Linux

Puoi sicuramente usare lo stesso comando cp ma con l'opzione ricorsiva -r per copiare una cartella con il suo contenuto in un'altra cartella. L'errore sopra menzionato suggerisce anche che hai perso l'opzione -r.

Tutto quello che devi fare è usare il comando in questo modo:

cp -r source_directory destination_directory

E ora se usi il comando ls nella directory di destinazione, dovrebbe avere l'intera directory di origine al suo interno.

L'opzione -r consente l'opzione ricorsiva. Ciò significa che l'intero contenuto della directory comprese le sue sottodirectory, tutto nella directory verrà copiato nella destinazione.

Alcune cose da notare sulla copia delle directory in Linux

Ecco un paio di cose da notare e suggerimenti sulla copia delle cartelle.

La directory di destinazione non esiste? Verrà creato

Se la directory di destinazione non esiste (ma esiste il percorso), verrà creata fino a un livello (spiegato nella sezione successiva). Tuttavia, ora copierà il contenuto della directory di origine, non la directory di origine stessa.

Ad esempio, se lo fai:

cp -r source_directory non_existing_directory

La directory_non_esistente verrà creata con il contenuto della directory_sorgente ma non avrà la directory_origine al suo interno. Verranno copiati solo i file di source_directory. Sarebbe come se la directory_non_esistente fosse una replica della directory_origine.

[email protected]:~$ ls
test_dir
[email protected]:~$ cp -r test_dir new_dir
[email protected]:~$ tree
 .
 ├── new_dir
 │   ├── c.xyz
 │   ├── myzip1.zip
 │   └── myzip2.zip
 └── test_dir
     ├── c.xyz
     ├── myzip1.zip
     └── myzip2.zip
 2 directories, 6 files

Impossibile creare una directory nidificata durante la copia

Non è possibile utilizzare il comando precedente per creare una struttura di directory nidificata.

Ad esempio, se si tenta di utilizzare cp -r source_dir dir1/dir2/dir3 ma dir2 e dir3 non esistono, non verrà creata la struttura della directory nidificata e il comando non riesce.

Preserva gli attributi del file originale

Un ultimo consiglio per mantenere le cose brevi. Se usi l'opzione -a insieme all'opzione -r, conserverà le informazioni sul file originale come i permessi dei file, i timestamp dei file ecc. Archivierà la directory nella nuova posizione invece di crearla di nuovo.

Ecco fatto

Queste molte informazioni dovrebbero essere sufficienti per sapere come copiare una directory in Linux. Se hai domande o suggerimenti, non esitare a lasciare un commento.


Linux
  1. Come riavviare Linux utilizzando la riga di comando

  2. comando Linux cp

  3. linux:come eseguire un comando in una determinata directory

  4. Usando il comando cp nella shell linux, come posso copiare un'intera directory in un'altra directory?

  5. Come posso copiare una cartella dalla riga di comando di Linux?

Come spostare una directory in Linux

Rimuovi directory in Linux - Come eliminare una cartella dalla riga di comando

Come aggiornare Ubuntu Linux [Suggerimento per principianti]

Come copiare la directory su Linux

Come contare i file nella directory su Linux

Come trovare l'indirizzo IP nella riga di comando di Linux