Come faccio a copiare una cartella con dei file in un'altra cartella in Unix/Linux?

Sto avendo dei problemi a copiare una cartella con dei file in quella cartella in un'altra cartella. Il comando cp -r non copia i file nella cartella.

Soluzione

L'opzione che stai cercando è -R.

cp -R path_to_source path_to_destination/
  • Se la destinazione non esiste, verrà creata.
  • -R significa copiare le directory in modo ricorsivo. Puoi anche usare -r dato che è case-insensitive.
  • Notate le sfumature con l'aggiunta del trailing / come da @muni764's comment.
Commentari (7)

State cercando il comando cp. Devi cambiare directory in modo da essere fuori dalla directory che stai cercando di copiare. Se la directory che stai copiando si chiama dir1 e vuoi copiarla nella tua cartella /home/Pictures:

cp -r dir1/ ~/Pictures/

Linux è sensibile alle maiuscole e ha anche bisogno della / dopo ogni directory per sapere che non si tratta di 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 si sa come usare un comando Linux, c'è una pagina di manuale a cui si può fare riferimento digitando

man [insert command here]

al prompt di un terminale.

Inoltre, per completare automaticamente i percorsi dei file lunghi quando si digita nel terminale, si può premere Tab dopo aver iniziato a digitare il percorso e vi verranno presentate delle scelte, o verrà inserita la parte rimanente del percorso.

Commentari (4)

Utilizzare:

$ cp -R SRCFOLDER DESTFOLDER/
Commentari (2)