Articles

Jak Kopírovat Soubory a Adresáře v Linuxu

Kopírování souborů a adresářů je jedním z nejčastějších úkolů budete provádět při práci na příkazový řádek. Existuje několik příkazů pro kopírování souborů v Linuxu, s cprsync je nejvíce široce používané nástroje.

je běžnou praxí používat příkaz cp 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ů příkazem cp #

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

nejjednodušší případ použití je zkopírovat soubor do aktuálního pracovního adresáře. Například zkopírovat soubor s názvem file.txt do souboru s názvem file_backup.txt v aktuálním adresáři, spusťte následující příkaz:

cp file.txt file_backup.txt

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

cp -i file.txt file_backup.txt

ve výchozím nastavení, při použití cp příkaz pro kopírování souboru, nový soubor bude ve vlastnictví uživatele provádění příkazu. Pomocí -p možnost zachovat režim souboru, vlastnictví, časová razítka:

cp -p file.txt file_backup.txt

Další možností, které mohou být užitečné, je -v. Při použití této možnosti, příkaz vytiskne to, co se děje:

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

Kopírovat 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 je zkopírován do aktuálního adresáře.

V následujícím příkladu jsme kopírování souboru file.txt/backup adresář:

cp file.txt /backup

při zadávání pouze názvu adresáře jako cíle bude mít zkopírovaný soubor stejný název jako původní soubor.

Pokud chcete zkopírovat soubor 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 bude zkopírujte soubor do zadaného adresáře jako new_file.txt.

Kopírování více souborů #

kopírovat více souborů a adresářů najednou, zadejte jména zdrojových souborů a adresářů následoval cílového adresáře jako poslední argument:

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

při kopírování více souborů musí být cíl adresářem.

příkaz cp také umožňuje použít porovnávání vzorů. Například, pokud chcete zkopírovat všechny .png soubory z aktuálního adresáře do /backup adresář, měli byste použít:

cp *.png /backup

Kopírování Adresáře s cp Příkaz #

kopírovat adresáře, včetně všech jeho souborů a podadresářů, pomocí -R nebo -r možnost. V následujícím příkladu budeme kopírovat adresář PicturesPictures_backup:

cp -R Pictures Pictures_backup

výše uvedený příkaz vytvoří cílový adresář a rekurzivně kopírovat 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 kopírovat pouze soubory a podadresáře, ale ne cílový adresář, použijte volbu -T :

cp -RT Pictures Pictures_backup

možnosti použité při kopírování souborů lze také použít při kopírování adresářů. Hlavní rozdíl spočívá v tom, že při kopírování adresářů musíte použít volbu -R.

Kopírování Souborů a Adresářů s rsync Příkaz #

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

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

nejvíce užitečná volba je -a rekurzivní kopírování adresářů, přenos a speciální bloková zařízení a zachovat symbolické odkazy, časy modifikace, skupiny, vlastnictví a oprávnění.

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

rsync -a file.txt file_backup.txt

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

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

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

rsync hrozby zdroj adresáře, které konce koncové lomítko / jinak. Pokud do zdrojového adresáře přidáte koncové lomítko, příkaz zkopíruje do cílového adresáře pouze obsah zdrojového adresáře. Když je koncové lomítko vynecháno, rsync zkopíruje zdrojový adresář uvnitř cílového adresáře. Nejbezpečnější možností je vždy zahrnout koncové lomítko / na cíl i zdroj.

dozvědět Se více o rsync podívejte se na následující články:

  • Jak Používat Rsync pro Místní a Dálkový Přenos Dat a Synchronizace
  • Jak Vyloučit Soubory a Adresáře s Rsync

Závěr #

Jsme vám ukázali, jak kopírovat soubory a adresáře v Linuxu a Unix-založené systémy, pomocí cprsync nástroje.