it-swarm.dev

Jak mohu zkopírovat obsah složky do jiné složky v jiném adresáři pomocí terminálu?

Pokouším se zkopírovat obsah složky do jiné složky v jiném adresáři pomocí terminálu.

Mohl by mi někdo poskytnout příklad syntaxe příkazového řádku potřebného k dosažení tohoto cíle?

840
pandisvezia

Můžete zkopírovat obsah složky /source do jiné existující složky /dest s příkazem

cp -a /source/. /dest/

The -a option je vylepšená rekurzivní volba, která zachovává všechny atributy souboru a také zachovává symlinks.

The . na konci zdrojové cesty je specifická syntaxe cp, která umožňuje kopírovat všechny soubory a složky, včetně skrytých.

1279
enzotib

Alternativou je rsync

rsync -r source/ destination

Výhody rsync jsou:

  1. Po počáteční synchronizaci zkopíruje pouze soubory, které se změnily.

  2. Můžete jej použít přes síť, což je vhodné pro soubory v $ HOME, zejména pro konfigurační soubory.

149
Panther

Řekněme, že máte složku nazvanou folder1 ve vašem ~, Uvnitř folder1 je 1 soubor s názvem file1 a 2 složky s názvem - sub1 a sub2 každý s ostatními soubory a složkami uvnitř.

Chcete-li zkopírovat veškerý obsah ~/folder1 Do ~/new_folder1, Který byste použili

cp -r ~/folder1/. ~/new_folder1

new_folder1 By potom obsahoval všechny soubory a složky z folder1.

cp je příkaz ke kopírování pomocí terminálu, -r z něj dělá rekurzivně (takže aktuální adresář + další adresáře uvnitř proudu) ~/folder1 je složka Origin, ~/new_folder1 je cílová složka pro soubory/složky uvnitř originálu.

89
Bruno Pereira

V tomto http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ najdete další informace o kopírování složky. Snad to pomůže.

cp Command

cp je Linuxový příkaz pro kopírování souborů a adresářů. Syntaxe je následující:

cp source destination
cp dir1 dir2
cp -option  source destination
cp -option1 -option2  source destination

V tomto příkladu zkopírujte /home/vivek/letterssložka a všechny její soubory do /usb/backup adresář:

cp -avr /home/vivek/letters /usb/backup

Kde,

-a: Zachovat zadané atributy, jako je adresář, režim souboru, vlastnictví, časová razítka, pokud je to možné, další atributy: kontext, odkazy, xattr, všechny.

-v: Vysvětlete, co se děje.

-r: Kopírovat adresáře rekurzivně. Příklad

Zkopírujte složku s názvem/tmp/conf do/tmp/backup:

$ cp -avr /tmp/conf/ /tmp/backup
15
Dilip Rajkumar

Jednoduchý příklad.

Zkopírujte adresář dir_1 a jeho obsah (_files _) do adresáře dir_2 :

cp -r ./dir_1 ./dir_2
# or
cp -r ./dir_1/ ./dir_2/
# Results in: ./dir_2/dir_1/_files_

Zkopírujte pouze obsah (_files_) dir_1 do adresáře dir_2 :

cp -r ./dir_1/. ./dir_2
# or
cp -r ./dir_1/. ./dir_2/
# Results in: ./dir_2/_files_*

_files_ je zástupný symbol pro skutečné soubory umístěné v adresáři.

6
Karl Morrison

Pokud existují dvě složky: (s povolením zápisu)

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

Pokud jste uvnitř složky nazvané PORTAL, kde chcete zkopírovat veškerý obsah jiné složky, řekněte DATA na stejné úrovni, pak to uděláte

[email protected]:/var/www/html/PORTAL$ cp -a ../DATA/. .

Musíte si všimnout 2 teček. Poslední tečka říká kopii zde v současné složce

a

jeden následující/DATA /. říká, že veškerý OBSAH uvnitř složky DATA, který má být zkopírován, a nikoli samotná složka DATA.

Pokud odstraníte toto koncové "." z/DATA /

pak bude celá složka DATA zkopírována do PORTALU (odkud se vyrovnáváte).

3
vimal krishna