Modo migliore per copiare più directory in una nuova directory


33

C'è un modo migliore sulla riga di comando per eseguire essenzialmente quanto segue ma con un singolo comando

cp -r css/ ar/
cp -r images/ ar/
cp -r js/ ar/
cp -r backups/ ar/

Li ho appena messi insieme con un punto e virgola.

Risposte:


63

Copia delle cartelle in un'altra cartella (cartella nella cartella):

cp -r css images js backups ar/

Nota: questo è diverso dalla copia del contenuto stesso (contenuto delle cartelle nella cartella):

cp -r css/ images/ js/ backups/ ar/

4
le barre fanno la differenza! sempre sospettato, mai saputo
Peter Perháč

2
le barre non fanno la differenza nei miei test. cpnon lo è rsync. tuttavia cp -r css/. images/. ar/copia i contenuti senza le directory. la mia versione di cp è "cp (GNU coreutils) 8.29".
sourcejedi,

1

La risposta è semplice, e funziona su Debian "questo è il modo in cui l'ho fatto" (testato), diciamo che sei in / etc e vuoi copiare alcuni file e cartelle prima di formattare il tuo disco rigido (per qualche ragione) digitare quanto segue e tutto quanto indicato di seguito verrà copiato nella cartella / mybackups / :

sudo cp -r -a apt/ bash.bashrc environment hosts init.d/ init/ nginx/ proxychains.conf sudoers sysctl.d/ profile.d/ grub.d/ /boot/grub/ /opt/ /root/ /var/www/ /mybackups/

come puoi vedere sopra, ho provato a copiare le cartelle dall'esterno ecc. anche indicando la sua posizione come / boot / grub / o / opt / e ha funzionato!


1
Credo che -r non sia necessario, poiché -a lo contiene già (via: man).
David Potočnik,

-2

Non è possibile copiare due directory usando cpsolo il comando.

Puoi copiare in modo ricorsivo usando l' -ropzione però.

Per esempio:

cp -r <source> <destination> 
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.