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 bobby@192.168.1.10:/home/bobby/file_for_copy.txt .
bobby@192.168.1.10'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 bobby@192.168.1.10:/home/bobby/dir_for_copy .
bobby@192.168.1.10'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 bobby@192.168.1.10:/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 bobby@192.168.1.10:/tmp
bobby@192.168.1.10'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 bobby@192.168.1.10:/home/bobby/myfile1.txt bobby@192.168.1.20:/tmp Podobně lze adresáře kopírovat mezi dvěma vzdálenými počítači pomocí volby -r.
$ scp -3 -r bobby@192.168.1.10:/home/bobby/mydir bobby@192.168.1.20:/tmp
bobby@192.168.1.20's password:
Could not chdir to home directory /home/bobby: No such file or directory
bobby@192.168.1.10'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 test@192.168.1.26:/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 bobby@192.168.1.10:/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 bobby@192.168.1.10:/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 bobby@192.168.1.10:/home/user/file . $ scp -c arcfour bobby@192.168.1.10:/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 bobby@192.168.1.10:/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 bobby@192.168.1.10:/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 bobby@192.168.1.10:/home/user/file . $ scp -6 bobby@192.168.1.10:/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.