
Duplikování a kopírování dokumentů a registrů je dost možná nejrozšířenější a běžně používanou úlohou, kterou budete provádět při práci s příkazovým řádkem Linuxu. V Linuxu existuje několik příkazů k duplikování dokumentů, nejznámější jsou příkazy cp a rsync.
Většina uživatelů Linuxu často používá a používá příkaz cp při kopírování souborů a příkaz rsync při kopírování adresářů.
Než začnete
Abyste mohli kopírovat soubory a adresáře, musíte mít alespoň oprávnění ke čtení zdrojových souborů a oprávnění k zápisu do cílových adresářů.
Kopírování souborů pomocí příkazu cp
Příkaz cp je nástroj příkazového řádku pro kopírování souborů a adresářů v systému Linux z jednoho umístění do druhého na stejném počítači.
Nejjednodušším případem použití je kopírování souborů v aktuálním pracovním adresáři. Chcete-li například zkopírovat soubor s názvem file.txt
v aktuálním adresáři jako file_backup.txt,
spusťte následující příkaz:
cp file.txt file_backup.txt
Pokud cílový soubor existuje, budou přepsány soubory se stejným názvem a příponou. Chcete-li požádat o potvrzení, použijte možnosti -i
.
cp -i file.txt file_backup.txt
Při použití příkazu cp ke kopírování souborů budou nové soubory ve vlastnictví uživatele provádějícího příkaz. Použijte volbu -p
pro zachování režimu souboru, vlastnictví a časových razítek:
cp -p file.txt file_backup.txt
Další možností, která by mohla 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'
Kopírovat soubory do jiného adresáře
Chcete-li zkopírovat soubor do jiného adresáře, musíte zadat absolutní nebo relativní cestu k cílovému adresáři. V následujícím příkladu zkopírujeme soubor file.txt
do adresáře /backup
:
cp file.txt /backup
Pokud 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 zkopírovat soubor s jiným názvem, musíte zadat požadovaný název souboru:
cp file.txt /backup/file_baru.txt
Výše uvedený příkaz zkopíruje soubor do adresáře zadaného jako file_baru.txt
.
Kopírovat více souborů
Je také možné kopírovat více souborů najednou zadáním názvů souborů následovaných cílovým adresářem:
cp file.txt file1.txt file2.txt directory
Při kopírování více souborů musí být cílem adresář.
Příkaz cp také umožňuje používat porovnávání vzorů. Chcete-li například zkopírovat všechny soubory png
z aktuálního adresáře do adresáře /backup
které budete používat:
cp *.png /backup
Jak zkopírovat adresář v Linuxu pomocí příkazu cp
Chcete-li zkopírovat adresář, včetně všech souborů a podadresářů, použijte volbu -R. V následujícím příkladu zkopírujeme adresář ~/Pictures
do adresáře ~/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.
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 volby -R
.
Jak zkopírovat soubory a adresáře v systému Linux pomocí příkazu rsync
Rsync je rychlý a všestranný nástroj příkazového řádku. Rsync synchronizuje soubory a adresáře mezi dvěma umístěními. Rsync lze použít ke kopírování souborů do místního nebo vzdáleného umístění.
Rsync poskytuje řadu možností, které řídí každý aspekt jeho chování. Nejpoužívanější možnosti jsou -a
který bude rekurzivně kopírovat adresáře, přenášet vlastní zařízení a blokovat, zachovávat symbolické odkazy, časy úprav, skupiny, vlastnictví a oprávnění k souborům.
Chcete-li zkopírovat jeden soubor z jednoho umístění do druhého, můžete použít následující příkaz:
rsync -a file.txt file_backup.txt
Pokud cílový soubor existuje, rsync jej přepíše.
Ke kopírování adresářů pomocí rsync:
můžete použít stejný příkaz jako výšersync -a / var / www / public_html / / var / www / public_html_backup /
Všimněte si, že Rsync bere v úvahu lomítka /
na konci zdroje s jiným pojetím. Pokud do zdrojového adresáře přidáte koncové lomítko, zkopíruje se pouze obsah adresář do cílového adresáře. Po odstranění koncového lomítka rsync zkopíruje adresář zdroj do cílového adresáře.
Závěr
V této příručce jsme se naučili, jak kopírovat soubory a adresáře v systémech založených na Linuxu a Unixu pomocí nástrojů cp a rsync.
Jak nainstalovat a nakonfigurovat Mono na Rocky Linux 8 a CentOS 8