Úvod
Tato příručka vám ukáže, jak kopírovat soubory a adresáře v Linuxu spouštěním příkazů z příkazového řádku. Kromě toho níže uvedené příkazy podrobně popisují, jak vytvářet zálohy celého systému nebo filtrovat a kopírovat pouze určité soubory.
Používání příkazu cp ke kopírování souborů a adresářů v Linuxu
cp
příkaz je primární metodou pro kopírování souborů a adresářů v Linuxu. Prakticky všechny distribuce Linuxu mohou používat cp
. Základní formát příkazu je:
cp [additional_option] source_file target_file
Například:
cp my_file.txt my_file2.txt
Tento příkaz systému Linux vytvoří kopii souboru my_file.txt soubor a přejmenuje nový soubor na my_file2.txt .
Ve výchozím nastavení cp
příkaz běží ve stejném adresáři, ve kterém pracujete. Stejný soubor však nemůže existovat dvakrát ve stejném adresáři. Budete muset změnit název cílového souboru, abyste jej mohli kopírovat do stejného umístění. Někteří uživatelé přidají _old , někdo přidá číslo a někdo dokonce změní třípísmennou příponu (např. .bak místo .txt ).
Před přepsáním vašeho souboru Linuxem se nemusí zobrazit varování – buďte opatrní, nebo se podívejte níže na –i
možnost.
Další možnosti
Další možnosti lze použít v kombinaci s cp
příkaz:
–v
podrobný :zobrazuje průběh více zkopírovaných souborů–p
zachovat :zachovává stejné atributy, jako je datum vytvoření a oprávnění k souboru–f
síla :vynutit kopírování nejprve smazáním existujícího souboru–i
interaktivní :vyzve k potvrzení, vysoce doporučeno–R
rekurzivní :zkopíruje všechny soubory a podsložky v adresáři–u
aktualizace :kopírovat, pouze pokud je zdroj novější než cíl
Jak zkopírovat soubor do jiného adresáře v Linuxu
Chcete-li zkopírovat soubor z adresáře, ve kterém pracujete, do jiného umístění, použijte příkaz:
cp my_file.txt /new_directory
Soubor nemusíte přejmenovávat, pokud v cílovém adresáři již není soubor se stejným názvem.
Chcete-li zadat cestu ke zdrojovému souboru:
cp /etc/my_file.txt /new_directory
To vám umožní kopírovat, aniž byste museli měnit adresáře. cp
příkaz vytvoří /new_directory pokud neexistuje.
Chcete-li přejmenovat a zkopírovat soubor do jiné cesty:
cp my_file.txt /new_directory/my_file2.txt
Tato možnost je užitečná pro vytváření záloh konfiguračních souborů nebo pro kopírování dat na úložné zařízení.
Kopírování více souborů z jednoho adresáře do druhého v Linuxu
Možná budete muset zkopírovat více než jeden soubor najednou.
Uveďte všechny soubory ke kopírování před cílový adresář:
cp my_file.txt my_file2.txt my_file3.txt /new_directory
Tento příklad vytvořil kopii všech tří souborů v /new_directory složka.
K určení všech souborů, které sdílejí řetězec znaků, použijte zástupný znak:
cp /pictures/*.jpg /new_directory
Tím by byly nalezeny všechny soubory s příponou .jpg rozšíření v /pictures a zkopírujte je do /new_directory složka.
Chcete-li zkopírovat celá složka a její podsložky a soubory , použijte –R
možnost:
cp –R /documents /new_directory
–R
znamená rekurzivní, což znamená „vše v daném místě“. To by zkopírovalo všechny soubory i všechny adresáře do /new_directory složka.
Kopírovat pomocí příkazu rsync
Příkaz rsync v Linuxu se používá k synchronizaci nebo přenosu dat mezi dvěma umístěními. Použití je podobné jako cp
, ale je zde několik klíčových rozdílů.
Chcete-li zkopírovat jeden soubor, zadejte do terminálu následující:
rsync –a my_file.txt /new_directory/my_file_backup.txt
–a
možnost znamená vše a je součástírsync
příkazy – tím se zachovají podadresáře, symbolické odkazy a další metadata.- Nahraďte soubor my_file.txt soubor v pracovním adresáři.
- Nahradit /new_directory/ s cílem.
- Pomocí souboru my_file_backup.txt protože cíl označuje, že soubor bude během kopírování přejmenován.
Chcete-li zkopírovat adresář pomocí rsync, zadejte následující:
rsync –a /etc/docker/ /home/backup/docker/
Tím se zkopíruje obsah /etc/docker/ do adresáře /home/backup/docker/ . Ujistěte se, že ponecháte lomítka. Vynecháním lomítka ve zdrojovém adresáři zkopírujete obsah do podadresáře.
Chcete-li vynechat soubory z kopírování, podívejte se na naši příručku, jak vyloučit soubory a adresáře z přenosu dat pomocí příkazu rsync.
Další možnosti
ls
command je užitečným partnerem cp
příkaz v Linuxu.
Chcete-li zobrazit obsah adresáře, zadejte příkaz:
ls /directory
Výše uvedený příklad zobrazuje všechny soubory v /adresáři . Tento příkaz použijte po zkopírování k ověření, že soubory byly zkopírovány úspěšně.
Chcete-li změnit adresáře, použijte cd
a název adresáře. Například:
cd /other_directory
Příkazový řádek se změní a zobrazí, že jste změnili adresáře.