Sto cercando di copiare il contenuto di una cartella in un'altra cartella in una directory diversa usando il terminale.
Qualcuno sarebbe in grado di fornirmi un esempio della sintassi della riga di comando richiesta per raggiungere questo obiettivo?
Sto cercando di copiare il contenuto di una cartella in un'altra cartella in una directory diversa usando il terminale.
Qualcuno sarebbe in grado di fornirmi un esempio della sintassi della riga di comando richiesta per raggiungere questo obiettivo?
Risposte:
È possibile copiare il contenuto di una cartella /sourcein un'altra cartella esistente /destcon il comando
cp -a /source/. /dest/
L' -aopzione è un'opzione ricorsiva migliorata, che conserva tutti gli attributi di file e conserva anche i collegamenti simbolici.
Alla .fine del percorso di origine è una cpsintassi specifica che consente di copiare tutti i file e le cartelle, inclusi quelli nascosti.
cp -a ~/Downloads/textext/. ~/.config/inkscape/extensions/
-pflag as per preservare i permessi dei file e i timestamp. cp -ap /var/www/original.com/images/. /var/www/new.com/images/
-aimplica già --preserve=all, che è più ampio di -p = --preserve=mode,ownership,timestamps.
scpè usato per copiare su una rete (attraverso ssh) e crittografa solo il canale di comunicazione, non i file sul filesystem di destinazione.
Un sostituto è rsync
rsync -r source/ destination
I vantaggi di rsync sono:
Dopo la sincronizzazione iniziale, copierà solo i file che sono stati modificati.
Puoi usarlo su una rete, comodo per i file in $ HOME, in particolare i file di configurazione.
rsync -r source/ destinationdovrebbe essere abbastanza, no?
rync source/ destovviamente le persone dovranno personalizzare il comando rsync per funzionare come vogliono.
Diciamo che avere una cartella denominata folder1 nella vostra ~, all'interno cartella1 è 1 file denominato file1 e 2 cartelle chiamato sub1 e sub2 ciascuno con altri file e cartelle al loro interno.
Per copiare tutti i contenuti di ~/folder1per ~/new_folder1si usa
cp -r ~/folder1/. ~/new_folder1
new_folder1conterrà quindi tutti i file e le cartelle da folder1.
cpè il comando da copiare usando un terminale, lo -rrende ricorsivamente (quindi, directory corrente + ulteriori directory all'interno di corrente) ~/folder1è la cartella di origine, ~/new_folder1è la cartella di destinazione per i file / cartelle all'interno dell'origine.
~/new_folder1/folder1invece di copiarne il contenuto.
cp -r ~/folder1/* ~/new_folder1
[root@ home]# mkdir food [root@ home]# cd food/ [root@ food]# mkdir .fruit [root@ food]# mkdir veggies [root@ food]# touch veggies/carrots [root@ food]# touch .fruit/apple [root@ food]# ls * carrots [root@ food]#
Controlla questo http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ per maggiori informazioni sulla copia della cartella. Spero che sia di aiuto.
cp Command
cpè un comando Linux per la copia di file e directory. La sintassi è la seguente:
cp source destination
cp dir1 dir2
cp -option source destination
cp -option1 -option2 source destination
In questo esempio copia la /home/vivek/letterscartella e tutti i suoi file nella /usb/backupdirectory:
cp -avr /home/vivek/letters /usb/backup
Dove,
-a : Conserva gli attributi specificati come directory come modalità file, proprietà, timestamp, se possibile attributi aggiuntivi: contesto, collegamenti, xattr, tutti.
-v : Spiega cosa si sta facendo.
-r: Copia le directory in modo ricorsivo. Esempio
Copia una cartella chiamata / tmp / conf in / tmp / backup:
$ cp -avr /tmp/conf/ /tmp/backup
Copia la directory dir_1 e il suo contenuto (_files_) nella directory dir_2 :
cp -r ./dir_1 ./dir_2
# or
cp -r ./dir_1/ ./dir_2/
# Results in: ./dir_2/dir_1/_files_
Copia il contenuto (_files_) solo di dir_1 nella directory dir_2 :
cp -r ./dir_1/. ./dir_2
# or
cp -r ./dir_1/. ./dir_2/
# Results in: ./dir_2/_files_*
_files_ è un segnaposto per i file effettivi presenti nella directory.
Se ci sono due cartelle: (con permesso di scrittura)
drwxr-xr-x 4 vimal vimal 4096 Sep 9 12:17 .
drwxr-xr-x 3 root root 4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal 4096 Sep 9 12:15 DATA
drwxrwxrwx 7 vimal vimal 4096 Sep 9 12:15 PORTAL
Se ti trovi all'interno della cartella denominata PORTALE dove vuoi copiare tutto il contenuto di un'altra cartella, dì DATI allo stesso livello, quindi lo farai
vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .
Devi notare 2 punti. L'ultimo punto dice copia qui nella cartella attuale
e
uno seguente / DATI /. dice che tutti i CONTENUTI all'interno della cartella DATA devono essere copiati e non la cartella DATA stessa.
Se rimuovi questo finale "." da / DATA /
quindi l'intera cartella DATA verrà copiata all'interno di PORTAL (da dove stai copiando).