GNU/Linux >> Znalost Linux >  >> Linux

Jak přenášet soubory mezi servery v Linuxu pomocí SCP a FTP

Přenos souborů mezi počítači je velmi častým provozním úkolem, který budete jako vývojář dělat neustále.

Linux poskytuje řadu nástrojů pro přenos souborů. V tomto tutoriálu probereme FTP a SCP . Mnoho automatických skriptů také nasazuje FTP nebo SCP pro přesun souborů.

Co je to FTP?

FTP je síťový protokol používaný pro výměnu souborů po síti. Používá port 21. FTP vám umožňuje přístup ke vzdálenému systému pro výměnu souborů pomocí ftp příkaz.

FTP syntaxe

Syntaxe FTP je následující:

ftp host

Zde host může být buď název hostitele nebo adresa IP vzdáleného hostitele.

Příkazy FTP

FTP příkazy jsou podobné příkazům Linuxu. Některé z nich probereme.

Příkaz Použití
otevřít Otevírá vzdálené připojení k jinému počítači.
získat Zkopíruje soubor ze vzdáleného systému do místního systému.
put Zkopíruje soubor z místního systému do adresáře na vzdáleném systému.
mget Přenese více souborů ze vzdáleného systému do aktuálního adresáře místního systému.
mput Přenese více souborů z místního systému do adresáře na vzdáleném systému.
ahoj/konec Příprava na ukončení prostředí FTP.
zavřít Ukončí připojení FTP.
ascii Povoluje režim přenosu souborů do ASCII
binární Povoluje režim přenosu souborů na binární.

Jak přenášet soubory přes FTP

FTP nabízí dva režimy přenosu:ASCII a Binary.

  1. ASCII znamená Americký standardní kód pro výměnu informací . Používá se k přenosu obyčejných souborů, jako jsou textové soubory.
  2. Binární režim :Binární režim se používá k přenosu netextových souborů, jako jsou obrázky.

Výchozí režim přenosu je ASCII.

Krok 1 – Připojení k FTP

V níže uvedeném příkladu hostA je vzdálený hostitel. Budete vyzváni k zadání uživatelského jména a hesla.

$ ftp hostA
Connected to hostA.
220 hostA FTP server ready.
Name (hostA:user): user
331 Password required for user.
Password: password
230 User user logged in.
Remote system type is LINUX.

Jakmile je připojení úspěšné, všimnete si ftp> symbol na začátku. Nyní můžeme spustit příkazy FTP.

Krok 2 – Vyberte režim přenosu souborů

V závislosti na typu souboru si můžete vybrat režim (binární nebo ASCII).

ftp> ascii
200 Type set to A.

Krok 3 – Přenos souborů

Používáme get příkaz k přenosu souboru sample.txt ze vzdáleného FTP serveru na místní počítač.

ftp> get sample.txt
200 PORT command successful.
150 Opening ASCII mode data connection for sample.txt (22 bytes).
226 Transfer complete.
local: sample.txt remote: sample.txt
22 bytes received in 0.012 seconds (1.54 Kbytes/s)

Krok 4. Ukončete relaci

ftp> bye
221-You have transferred 22 bytes in 1 files.
221-Total traffic for this session was 126 bytes in 2 transfers. 221-Thank you for using the FTP service on hostA.
221 Goodbye.

Jak přenést více souborů přes FTP

Pro hromadný přenos souborů existují dva příkazy:mget a mput .

Používáte mget ke stažení souborů, zatímco vy používáte mput k nahrání souborů.

ftp> mget sample_file.1 sample_file.2
ftp> mput sample_file.1 sample_file.2

Všechny kroky, které jsme se právě naučili, lze umístit do spustitelného souboru a naplánovat. Kód pro automatizaci naleznete zde.

Co je SCP?

SCP je zkratka pro Secure Copy. Využívá SSH a port 22. Data přenášená přes SCP jsou šifrovaná a sniffery k nim nemají přístup. Díky tomu je SCP velmi bezpečný.

SCP můžete použít k:

  • Přeneste soubory z místního počítače do vzdáleného hostitele.
  • Přeneste soubory ze vzdáleného hostitele do místního počítače.

SCP syntaxe

Pojďme prozkoumat syntaxi SCP.

scp [FLAG] [user@]SOURCE_HOST:]/path/to/file1 [user@]DESTINATION_HOST:]/path/to/file2
  • [FLAG] specifikuje možnosti, které mohou být poskytnuty SCP. Zde jsou některé podrobnosti o příznakech:
Příznak Popis
-r Pro rekurzivní kopírování adresářů.
-q Slouží ke skrytí měřiče průběhu a jakýchkoli jiných informací kromě chyb.
-C Slouží ke komprimaci dat při jejich odesílání na místo určení.
-P Určuje cílový port SSH.
-p Zachovává časy přístupu k souboru.
  • [user@]SOURCE_HOST je zdrojový stroj.
  • [user@]DESTINATION_HOST:] je cílový stroj.

Poznámka :Chcete-li přenášet soubory přes SCP, musí být známy přihlašovací údaje a uživatel by měl mít oprávnění k zápisu .

Jak přenést soubory z místního počítače do vzdáleného hostitele pomocí SCP

Chcete-li přenést soubory do vzdáleného hostitele, použijte příkaz níže:

scp source_file.txt [email protected]:/path/to/remote/directory

Ve výše uvedeném příkazu source_file.txt je soubor, který se má zkopírovat. Remote_username je uživatelské jméno pro vzdálený hostitel 10.13.13.11 . Za : je určena cílová cesta.

Ukázkový výstup:

Heslo uživatele
[email protected]'s password:
source_file.txt                             100%    0     0.0KB/s   00:00

Soubor source_file.txt bude nyní umístěn do /path/to/remote/directory .

Pro kopírování adresářů použijte -r příznak, jak je ukázáno níže.

scp -r /local/directory [email protected]:/path/to/remote/directory

Jak přenášet soubory ze vzdáleného hostitele do místního počítače pomocí SCP

Chcete-li přenést soubory ze vzdáleného hostitele do místního počítače, použijte příkaz níže:

scp [email protected]:/remote/source_file.txt /path/to/local/directory
Buďte zvláště opatrní při přenosu souborů, protože SCP se přepisuje již existující soubory.

Zabalení

V tomto tutoriálu jste se naučili přenášet soubory a adresáře pomocí FTP a SCP pomocí příkazového řádku.

Když jsou tyto příkazy automatizovány, slouží ještě větším účelům v oblasti datových skladů, ETL (Extract, Transform, Load), reportingu, archivace a hromadného zpracování souborů. Vyzkoušejte tyto příkazy. Pojďme se připojit na Twitteru.


Linux
  1. Jak přenášet soubory mezi dvěma počítači pomocí příkazů nc a pv

  2. Jak bezpečně kopírovat soubory mezi hostiteli Linuxu pomocí SCP a SFTP

  3. Jak bezpečně přenášet soubory pomocí SCP

  1. Jak přenášet soubory v Linuxu pomocí SCP a Rsync

  2. Jak bezpečně přenášet soubory pomocí příkazu SCP v systému Linux

  3. Jak používat FTP pod Linuxem k přenosu souborů

  1. Bezpečně přenášejte soubory a složky mezi počítači pomocí Croc

  2. Jak nakonfigurovat server SAMBA a přenášet soubory mezi Linuxem a Windows

  3. Jak rychle a spolehlivě přenášet soubory mezi Linuxem a Androidem?