GNU/Linux >> Znalost Linux >  >> Linux

Jak kopírovat soubory a adresáře v Linuxu

Kopírování souborů a adresářů je jedním z nejběžnějších úkolů, které budete provádět při práci na příkazovém řádku. V Linuxu existuje několik příkazů pro kopírování souborů s cp a rsync jsou nejpoužívanějšími nástroji.

Je běžnou praxí používat cp příkaz pro kopírování souborů a rsync pro kopírování adresářů.

Abyste mohli kopírovat soubory a adresáře, musíte mít alespoň oprávnění ke čtení zdrojového souboru a oprávnění k zápisu do cílového adresáře.

Kopírování souborů pomocí cp Příkaz #

V operačních systémech Linux a Unix cp příkaz se používá pro kopírování souborů a adresářů.

Nejjednodušším případem použití je zkopírování souboru v aktuálním pracovním adresáři. Chcete-li například zkopírovat soubor s názvem file.txt do souboru s názvem file_backup.txt v aktuálním adresáři byste spustili následující příkaz:

cp file.txt file_backup.txt

Pokud cílový soubor existuje, bude přepsán. Chcete-li před přepsáním souborů získat výzvu k potvrzení, použijte -i možnost.

cp -i file.txt file_backup.txt

Ve výchozím nastavení při použití cp příkaz zkopírovat soubor, nový soubor bude vlastnit uživatel provádějící příkaz. Použijte -p možnost zachovat režim souboru, vlastnictví a časová razítka:

cp -p file.txt file_backup.txt

Další možností, která může být užitečná, je -v . Při použití této možnosti příkaz vypíše, co se právě dělá:

cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'

Zkopírujte soubor do adresáře #

Chcete-li zkopírovat soubor do adresáře, zadejte absolutní nebo relativní cestu k adresáři. Když je cílový adresář vynechán, soubor se zkopíruje do aktuálního adresáře.

V následujícím příkladu kopírujeme soubor file.txt do /backup adresář:

cp file.txt /backup

Když jako cíl zadáte pouze název adresáře, bude mít zkopírovaný soubor stejný název jako původní soubor.

Pokud chcete soubor zkopírovat pod jiným názvem, musíte zadat požadovaný název souboru:

cp file.txt /backup/new_file.txt

Výše uvedený příkaz zkopíruje soubor do zadaného adresáře jako new_file.txt .

Kopírovat více souborů #

Chcete-li zkopírovat více souborů a adresářů najednou, zadejte názvy zdrojových souborů a adresářů a jako poslední argument uveďte cílový adresář:

cp file.txt dir file1.txt file2.txt dir1

Při kopírování více souborů musí být cílem adresář.

cp příkaz také umožňuje používat porovnávání vzorů. Chcete-li například zkopírovat všechny soubory .png soubory z aktuálního adresáře do /backup adresář, byste použili:

cp *.png /backup

Kopírování adresářů pomocí cp Příkaz #

Chcete-li zkopírovat adresář, včetně všech jeho souborů a podadresářů, použijte -R nebo -r volba. V následujícím příkladu kopírujeme adresář Pictures do Pictures_backup :

cp -R Pictures Pictures_backup

Výše uvedený příkaz vytvoří cílový adresář a rekurzivně zkopíruje všechny soubory a podadresáře ze zdrojového do cílového adresáře.

Pokud cílový adresář již existuje, samotný zdrojový adresář a jeho obsah se zkopírují do cílového adresáře. Chcete-li zkopírovat pouze soubory a podadresáře, ale nikoli cílový adresář, použijte -T možnost:

cp -RT Pictures Pictures_backup

Možnosti používané při kopírování souborů lze využít i při kopírování adresářů. Hlavní rozdíl je v tom, že při kopírování adresářů musíte použít -R možnost.

Kopírování souborů a adresářů pomocí rsync Příkaz #

rsync je rychlý a všestranný nástroj příkazového řádku, který synchronizuje soubory a adresáře mezi dvěma umístěními. Lze jej použít ke kopírování souborů do místních a vzdálených umístění.

rsync obsahuje mnoho možností, které řídí každý aspekt jeho chování

Nejužitečnější možností je -a které rekurzivně kopírují adresáře, přenášejí speciální a bloková zařízení a zachovávají symbolické odkazy, časy úprav, skupiny, vlastnictví a oprávnění.

Chcete-li zkopírovat jeden soubor z jednoho do jiného umístění, spusťte následující příkaz:

rsync -a file.txt file_backup.txt

Pokud cílový soubor existuje, rsync přepíše jej.

Stejný příkaz lze použít ke zkopírování adresáře:

rsync -a /var/www/public_html/ /var/www/public_html_backup/

rsync ohrožuje zdrojové adresáře, které končí koncovým lomítkem / jinak. Pokud ke zdrojovému adresáři přidáte koncové lomítko, příkaz zkopíruje do cílového adresáře pouze obsah zdrojového adresáře. Když je vynecháno koncové lomítko, rsync zkopíruje zdrojový adresář do cílového adresáře. Nejbezpečnější možností je vždy zahrnout koncové lomítko / v cíli i zdroji.

Chcete-li se dozvědět více o rsync zkontrolujte následující články:

  • Jak používat Rsync pro místní a vzdálený přenos dat a synchronizaci
  • Jak vyloučit soubory a adresáře pomocí Rsync

Závěr č.

Ukázali jsme vám, jak kopírovat soubory a adresáře v systémech Linux a Unix pomocí cp a rsync nástroje.

Pokud máte nějaké dotazy, zanechte prosím níže komentář.


Linux
  1. Snadný způsob, jak skrýt soubory a adresáře v Linuxu

  2. Jak odstranit soubory a adresáře v Linuxu z příkazového řádku

  3. Jak najít soubor v Linuxu ve všech adresářích rekurzivně

  1. Jak extrahovat soubory .gz a .tar.gz v Linuxu

  2. Jak vypsat rekurzivní velikosti souborů a adresářů v adresáři?

  3. Jak kopírovat / přesouvat soubory a adresáře v Linuxu pomocí příkazů „cp“ a „mv“.

  1. Jak kopírovat soubory a adresáře v Linuxu

  2. Jak zkopírovat soubor do více adresářů v Linuxu

  3. Jak odstranit adresáře a soubory pomocí Linuxu