Android

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

Připojení sdílené složky Windows v Ubuntu 18.04 server

Připojení sdílené složky Windows v Ubuntu 18.04 server

Obsah:

Anonim

Kopírování souborů a adresářů je jedním z nejčastě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ů, přičemž nejčastěji používanými nástroji jsou cp a rsync .

Obvykle se při kopírování souborů používá příkaz cp a při kopírování adresářů příkaz rsync .

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

Kopírování souborů pomocí příkazu cp

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

Nejjednodušší případ použití je zkopírování souboru do aktuálního pracovního adresáře. 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, spusťte 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 volbu -i .

cp -i file.txt file_backup.txt

Ve výchozím nastavení bude při kopírování souboru pomocí příkazu cp vlastníkem nového souboru uživatel provádějící příkaz. Použijte volbu -p k zachování režimu souboru, vlastnictví a časových razítek:

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 vytiskne, co se děje:

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. Pokud je cílový adresář vynechán, soubor se zkopíruje do aktuálního adresáře.

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

cp file.txt /backup

Při určování pouze názvu adresáře jako cílového bude mít zkopírovaný soubor stejný název jako původní soubor.

cp file.txt /backup/new_file.txt

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

Zkopírujte více souborů

Chcete-li kopírovat více souborů a adresářů najednou, zadejte jako poslední argument názvy zdrojových souborů a adresářů s cílovým adresářem:

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

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

Příkaz cp také umožňuje použít přizpůsobení vzorů. Chcete-li například zkopírovat všechny soubory .png z aktuálního adresáře do adresáře /backup , použijte:

cp *.png /backup

Kopírování adresářů pomocí příkazu cp

Chcete-li zkopírovat adresář, včetně všech jeho souborů a podadresářů, použijte volbu -R nebo -r . V následujícím příkladu zkopírujeme adresář Pictures to 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 zdroje do cílového adresáře.

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

cp -RT Pictures Pictures_backup

Možnosti použité při kopírování souborů lze použít také při kopírování adresáře. 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ářů pomocí příkazu rsync

rsync je rychlý a univerzální obslužný program 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 lokálních a vzdálených umístění.

rsync obsahuje řadu možností, které řídí každý aspekt jeho chování. Nejužitečnější možností je -a která kopíruje adresáře rekurzivně, přenáší speciální a bloková zařízení, zachovává symbolické odkazy, časy úprav, skupinu, vlastnictví a oprávnění.

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

rsync -a file.txt file_backup.txt

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

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

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

rsync zdrojové adresáře, které končí koncem lomítka / 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. Pokud 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.

Další informace o rsync naleznete v následujících článcích:

Závěr

V této příručce jsme vám ukázali, jak kopírovat soubory a adresáře v systémech Linux a Unix pomocí utilit cp a rsync .

cp rsync terminál