SCP je bezpečný kopírovací program pro přenos souborů nebo adresářů mezi hostiteli Linuxu v síti. SCP používá k přenosu dat protokol ssh.
Soubor nebo adresáře můžete přenést následovně:
1) Lokální hostitel ke vzdálenému hostiteli.
2) Vzdálený systém k místnímu systému.
3) Přenos mezi dvěma vzdálenými hostiteli z vašeho místního systému.
V tomto tutoriálu se naučíme některé příkazy scp pro přenos souborů mezi systémy Linux.
1) Zkopírujte soubor ze vzdáleného hostitele do místního pomocí příkazu scp
Následující příklad zkopíruje soubor s názvem 'file_for_copy.txt' ze vzdáleného systému '192.168.1.10' do aktuálního adresáře (tečka označuje aktuální adresář) v místním systému.
$ scp [email protected]:/home/bobby/file_for_copy.txt .
[email protected]'s password:
file_for_copy.txt 100% 0 0.0KB/s 00:00
bobby@Inspiron-1440:~$ ls
file_for_copy.txt
Zkopírujte adresář ze vzdáleného hostitele do místního pomocí příkazu scp
Adresáře lze kopírovat pomocí -r
možnost (jako většina příkazů jako cp), tj. rekurzivně, takže veškerý obsah v adresáři lze také zkopírovat
$ scp -r [email protected]:/home/bobby/dir_for_copy .
[email protected]'s password:
file1.txt 100% 0 0.0KB/s 00:00
file3.txt 100% 0 0.0KB/s 00:00
file2.txt 100% 0 0.0KB/s 00:00
$ ls -ld dir_for_copy
drwxrwxr-x 2 bobby bobby 4096 2012-11-07 15:11 dir_for_copy
3) Zkopírujte soubor z místního na vzdálený hostitel
Volba -v scp vypíše podrobný výstup, který pak provede scp a také vytiskne ladicí zprávy o jejich průběhu. V následujícím příkladu je použita volba -v. Zde je místní soubor zkopírován do vzdáleného hostitele.
$ scp -v examples.desktop [email protected]:/home/bobby
Podobně lze adresář zkopírovat pomocí -r
volba. V následujícím příkladu je adresář s názvem jvm zkopírován do vzdáleného hostitele.
$ scp -r jvm [email protected]:/tmp
[email protected]'s password:
file2.txt 100% 42 0.0KB/s 00:00
file.txt 100% 39 0.0KB/s 00:01
4) Kopírování souborů mezi dvěma vzdálenými hostiteli z místního hostitele
Chcete-li kopírovat soubor mezi dvěma hostiteli, služba ssh by měla být spuštěna na obou počítačích. -3
volba přenese soubory mezi dvěma vzdálenými hostiteli prostřednictvím místního hostitele. Následující příkaz zkopíruje soubor /home/bobby/myfile1.txt z počítače 192.168.1.10 do adresáře /tmp na počítači 192.168.1.20 s podrobným výstupem.
$ scp -3 -v [email protected]:/home/bobby/myfile1.txt [email protected]:/tmp
Podobně lze adresáře kopírovat mezi dvěma vzdálenými počítači pomocí volby -r.
$ scp -3 -r [email protected]:/home/bobby/mydir [email protected]:/tmp
[email protected]'s password:
Could not chdir to home directory /home/bobby: No such file or directory
[email protected]'s password:
5) SCP s číslem portu
Předpokládejme, že port SSH vzdáleného počítače je 2200 (spíše než výchozí port SSH 22). Poté musíte provést příkaz scp s -P
možnost takto:
$ scp –P 2200 -r test_folder [email protected]:/home/test/
6) Příkaz Scp Kopírování více souborů (jedna vložka)
Můžete kopírovat více souborů najednou pomocí příkazu scp, jak je uvedeno níže, aniž byste jej museli několikrát spouštět
$ scp file1.txt file2.txt file3.txt [email protected]:/home/bobby
7) Zkopírujte soubory bez změny časového razítka souborů
Někdy možná budete chtít zachovat časové razítko původních souborů. Ale když je odešlete na jiné místo normálním způsobem, časové razítko se změní. Ale s -p
můžete kopírovat soubory se stejnými původními časovými razítky, jak je uvedeno níže.
$ scp -p file1.txt [email protected]:/home/bobby
8) Rychlé kopírování souborů SCP
Ve výchozím nastavení Scp používá k šifrování dat AES-128, protože zabezpečení je vysoké. Ale nevýhodou je, že to trochu zpomaluje proces kopírování souborů. Ale pokud chcete bezpečně kopírovat soubory rychleji, můžete použít Blowfish nebo RC4, jak je uvedeno níže.
$ scp -c blowfish [email protected]:/home/user/file .
$ scp -c arcfour [email protected]:/home/user/file .
9) Příkaz Scp se zvýšenou bezpečností
Pokud je to zabezpečení, které hledáte, můžete kopírovat soubory bezpečnějším způsobem pomocí 3DES. To ale proces ještě trochu zpomalí.
$ scp -c 3des [email protected]:/home/user/file .
10) Příkaz Scp s omezenou šířkou pásma
Při použití příkazu scp můžete omezit šířku pásma, jak je uvedeno níže (zde je šířka pásma specifikována v Kbit/s).
$ scp -l50 [email protected]:/home/user/file .
11) Příkaz Scp s IPV4 a IPV6
V případě potřeby můžete příkazu scp vynutit použití IPV4 nebo IPV6, jak je uvedeno níže
$ scp -4 [email protected]:/home/user/file .
$ scp -6 [email protected]:/home/user/file .
Závěr
Doufám, že se vám líbilo čtení tohoto návodu, jak používat příkaz scp s příklady. Pro více informací bych doporučil odkazovat na manuálovou stránku příkazu scp.