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
significacopy 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/