GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso copiare la cartella con i file in un'altra cartella in Unix/Linux?

Stai cercando il cp comando. Devi cambiare directory in modo da essere fuori dalla directory che stai tentando di copiare.

Se la directory che stai copiando si chiama dir1 e vuoi copiarlo sul tuo /home/Pictures cartella:

cp -r dir1/ ~/Pictures/

Linux fa distinzione tra maiuscole e minuscole e richiede anche / dopo ogni directory per sapere che non è un file. ~ è un carattere speciale nel terminale che valuta automaticamente la home directory dell'utente corrente. Se hai bisogno di sapere in quale directory ti trovi, usa il comando pwd .

Quando non sai come usare un comando Linux, c'è una pagina di manuale a cui puoi fare riferimento digitando:

man [insert command here]

al prompt del terminale.

Inoltre, per completare automaticamente percorsi di file lunghi durante la digitazione nel terminale, puoi premere Tab dopo che hai iniziato a digitare il percorso e ti verranno presentate delle scelte o verrà inserita la parte rimanente del percorso.

C'è un'importante distinzione tra Linux e Unix nella risposta perché per Linux (GNU e BusyBox) -R , -r e --recursive sono tutti equivalenti, come menzionato in questa risposta. Per la portabilità, ovvero la conformità POSIX, dovresti utilizzare -R a causa di alcune differenze dipendenti dall'implementazione con -r . È importante leggere le pagine man per conoscere eventuali idiosincrasie che possono sorgere (questo è un buon caso d'uso per mostrare perché gli standard POSIX sono utili).


L'opzione che stai cercando è -R .

cp -R path_to_source path_to_destination/
  • Se destination non esiste, verrà creato.
  • -R significa copy directories recursively . Puoi anche usare -r poiché non fa distinzione tra maiuscole e minuscole.
  • Copiare tutto dentro la cartella di origine (collegamenti simbolici, file nascosti) senza copiare la cartella di origine stessa usa -a flag insieme al /. finale nella fonte (come da @muni764 's / @Anton Krug commento di):
cp -a path_to_source/. path_to_destination/

Usa:

$ cp -R SRCFOLDER DESTFOLDER/

Linux
  1. Come crittografare i file con gocryptfs su Linux

  2. Come rinominare più file da un'estensione all'altra in Linux / Unix?

  3. Come posso copiare un file/cartella dalla home directory di un altro utente in Linux?

  4. Come posso spostare i file con xargs su Linux?

  5. Come copiare file e sottodirectory nascosti (che iniziano con un punto) in Linux?

Come copiare un gran numero di file in Linux

Come trovare file con il comando fd in Linux

Come scaricare file con il comando Curl in Linux

Come scaricare file con il comando Wget in Linux

Come eliminare i file elencati in un altro file in Linux

Come copiare file in Linux usando il comando CP