GNU/Linux >> Znalost Linux >  >> Linux

Jak zkopírovat adresář na Linuxu

Kopírování adresářů v systému Linux je velkou součástí rutiny každého správce systému.

Pokud pracujete s Linuxem již nějakou dobu, víte, jak důležité je udržovat vaše složky dobře strukturované.

V některých případech může být nutné zkopírovat některé adresáře v systému za účelem přepracování vaší hlavní struktury souborového systému.

V tomto tutoriálu se podíváme, jak můžete snadno kopírovat adresáře a složky v systému Linux pomocí příkazu cp.

Kopírování adresářů v systému Linux

Chcete-li zkopírovat adresář v systému Linux, musíte provést příkaz „cp“ s volbou „-R“ pro rekurzivní a zadat zdrojový a cílový adresář, který se má zkopírovat.

$ cp -R <source_folder> <destination_folder>

Řekněme například, že chcete zkopírovat adresář „/etc“ do záložní složky s názvem „/etc_backup“.

Složka „/etc_backup“ se také nachází v kořenovém adresáři vašeho souborového systému.

Chcete-li zkopírovat adresář „/etc“ do této záložní složky, spustili byste následující příkaz

$ cp -R /etc /etc_backup

Provedením tohoto příkazu se složka „/etc“ zkopíruje do „/etc_backup“, výsledkem je následující složka.

Skvělé, úspěšně jste zkopírovali jednu složku v jiné složce v systému Linux.

Ale co kdybyste chtěli zkopírovat obsah adresáře rekurzivně pomocí příkazu cp?

Rekurzivně kopírovat obsah adresáře v systému Linux

Chcete-li zkopírovat obsah adresáře rekurzivně, musíte použít příkaz „cp“ s volbou „-R“ a zadat zdrojový adresář následovaný zástupným znakem.

$ cp -R <source_folder>/* <destination_folder>

Vzhledem k našemu předchozímu příkladu řekněme, že chceme zkopírovat obsah adresáře „/etc“ do složky „/etc_backup“.

Abychom toho dosáhli, napsali bychom následující příkaz

$ cp -R /etc/* /etc_backup

Při výpisu obsahu záložní složky zjistíte, že nebyla zkopírována složka samotná, ale její obsah ano.

$ ls -l /etc_backup

Skvělé, zkopírovali jste obsah adresáře „/etc“ přímo do záložní složky!

Kopírování více adresářů pomocí cp

Chcete-li v systému Linux zkopírovat více adresářů, musíte použít příkaz „cp“ a uvést různé adresáře, které se mají zkopírovat, a také cílovou složku.

$ cp -R <source_folder_1> <source_folder_2> ... <source_folder_n>  <destination_folder>

Řekněme například, že chceme zkopírovat adresář „/etc“ a také všechny domovské adresáře umístěné v adresáři „/home“.

Abychom toho dosáhli, spustili bychom následující příkaz

$ cp -R /etc/* /home/* /backup_folder

Gratulujeme, úspěšně jste zkopírovali více adresářů pomocí příkazu cp v systému Linux!

Kopírovat adresáře na vzdálené hostitele

V některých případech můžete chtít zkopírovat adresář, abyste si uchovali zálohu na záložním serveru.

Netřeba dodávat, že váš záložní server je lokálně vzdálený:musíte zkopírovat svůj adresář přes síť.

Kopírování pomocí rsync

Chcete-li zkopírovat adresáře do vzdálených umístění, musíte použít příkaz rsync, zadat zdrojovou složku a také vzdálený cíl, do kterého se mají kopírovat.

Nezapomeňte zahrnout možnost „-r“ pro „rekurzivní“ a možnost „-a“ pro „vše“ (jinak budou neběžné soubory přeskočeny)

$ rsync -ar <source_folder> <destination_user>@<destination_host>:<path>

Pokud na vašem serveru není nainstalován nástroj „rsync“, ujistěte se, že jej nainstalujete pomocí práv sudo.

$ sudo apt-get install rsync

$ sudo yum install rsync

Řekněme například, že potřebujeme zkopírovat složku „/etc“ na záložní server na adrese 192.168.178.35/24.

Chceme zkopírovat adresář do „/etc_backup“ vzdáleného serveru s uživatelským jménem „devconnected“.

Abychom toho dosáhli, spustili bychom následující příkaz

$ rsync -ar /etc [email protected]:/etc_backup

Poznámka:Již jsme napsali průvodce o přenosu souborů a složek po síti, pokud o tom potřebujete rozsáhlého průvodce.

Podobně se můžete rozhodnout zkopírovat obsah adresáře „/etc/ spíše než samotný adresář přidáním zástupného znaku za adresář, který se má zkopírovat.

$ rsync -ar /etc/* [email protected]:/etc_backup/

A konečně, pokud chcete při provádění zálohy adresáře uvést aktuální datum, můžete použít náhradu parametrů Bash.

$ rsync -ar /etc/* [email protected]:/etc_backup/etc_$(date "+%F")

Poznámka :Pokud hledáte návod na nastavení dat v Linuxu, na webu o tom máme průvodce.

Kopírování pomocí scp

Chcete-li zkopírovat adresář v systému Linux do vzdáleného umístění, můžete provést příkaz „scp“ s volbou „-r“ pro rekurzivní zpracování, za nímž následuje adresář, který se má zkopírovat, a cílová složka.

$ scp -r <source_folder> <destination_user>@<destination_host>:<path>

Řekněme například, že chceme zkopírovat adresář „/etc“ na záložní server umístěný na adrese 192.168.178.35 ve složce „/etc_backup“.

Abyste toho dosáhli, spustili byste následující příkaz

$ scp -r /etc [email protected]:/etc_backup/

Blahopřejeme, úspěšně jste zkopírovali celý adresář pomocí příkazu scp.

Velmi podobně jako u příkazu rsync se můžete rozhodnout použít substituci parametru Bash ke zkopírování vašeho adresáře do vlastního adresáře na vašem serveru.

$ scp -r /etc [email protected]:/etc_backup/etc_$(date "+%F")

Závěr

V tomto tutoriálu jste se naučili, jak můžete snadno kopírovat adresáře v systému Linux , ať už se rozhodnete to provést lokálně nebo vzdáleně.

Většinu času se kopírování adresářů provádí za účelem zálohy důležitých složek v systému :jmenovitě protokoly /etc, /home nebo Linux.

Pokud vás zajímá Správa systému Linux , máme na webu kompletní sekci věnovanou tomu, takže se na to určitě podívejte!


Linux
  1. Jak aktualizovat symbolický odkaz pro Linux

  2. Jak přejmenovat adresář v Linuxu

  3. Jak zkopírovat adresář v příkazovém řádku Linuxu [Tip pro začátečníky]

  1. Jak gzipovat adresář v Linuxu

  2. Jak získat velikost adresáře v Linuxu

  3. Jak zkopírovat cestu k adresáři pro zachování souboru v Linuxu?

  1. Jak přejmenovat adresář v Linuxu

  2. Jak odebrat adresář v Linuxu

  3. Jak vytvořit nový adresář v Linuxu