Jak používat příkaz FTP v systému Linux

Protokol přenosu souborů je starší než většina našich čtenářů, ale stále je silný. FTP nemá zabezpečení moderního protokolu, ale budete jej možná muset použít. Zde je návod, jak na to.
Varování: Nepoužívejte FTP přes internet
Pojďme si to ujasnit hned od začátku: Protokol File Transfer Protocol (FTP) pochází z počátku 70. let a byl napsán bez ohledu na bezpečnost. K ničemu nepoužívá šifrování. Přihlašovací údaje, jako je vaše uživatelské jméno a heslo, jakož i data, která stáhnete nebo nahrajete, jsou přenášena ve formátu prostého textu. Kdokoli může sledovat vaše tajemství. FTP však stále má svá použití.
Pokud přenášíte soubory v síti, měli byste být v bezpečí - pokud nikdo v síti nebude čichat pakety a odposlouchávat žádné citlivé dokumenty při jejich přenosu. Pokud vaše soubory nejsou žádným způsobem důvěrné nebo citlivé, měl by být jejich přesun po vnitřní síti pomocí FTP v pořádku. Linux má standardní ftp
program příkazového řádku, který se zabývá přesně tímto scénářem.
Ale rozhodně nepoužívejte ftp
příkaz k přístupu k externím zdrojům přes internet. K tomu použijte program sftp
příkazového řádku, který používá zabezpečený protokol SSH File Transfer Protocol. Oba tyto programy představíme v tomto kurzu.
Chcete-li objasnit, proč nikdy nechcete používat FTP přes internet, podívejte se na následující snímek obrazovky. Zobrazuje heslo FTP v prostém textu. Kdokoli ve vaší síti nebo mezi vámi a FTP serverem na internetu snadno uvidí heslo „MySecretPassword“.
Bez šifrování by mohl nebezpečný herec upravit i soubory, které stahujete nebo nahráváte během přenosu.
Příkaz ftp
Za předpokladu, že máte platný účet na serveru FTP, můžete se k němu připojit pomocí následujícího příkazu. V celém tomto článku nahraďte adresu IP v příkazech adresou IP serveru FTP, ke kterému se připojujete.
ftp 192.168.4.25
Varování : Příkaz byste měli používat pouze ftp
pro připojení k serverům v důvěryhodné místní síti. Pomocí sftp
níže uvedeného příkazu můžete přenášet soubory přes internet.
Server FTP odpoví uvítací zprávou. Znění pozdravu se bude u jednotlivých serverů lišit. Poté požádá o uživatelské jméno účtu, ke kterému se přihlašujete.
Všimněte si, že je zobrazena IP adresa webu, ke kterému se připojujete, a vaše uživatelské jméno pro Linux. Pokud je váš účet na FTP serveru stejný jako vaše uživatelské jméno pro Linux, jednoduše stiskněte klávesu Enter. Toto použije vaše uživatelské jméno pro Linux jako název účtu na serveru FTP. Pokud se vaše uživatelské jméno pro Linux a název účtu FTP liší, zadejte uživatelské jméno účtu FTP a stiskněte klávesu Enter.
Přihlášení k serveru FTP
Budete vyzváni k zadání hesla pro server FTP. Zadejte své heslo a stiskněte klávesu Enter. Vaše heslo se na obrazovce nezobrazí. Pokud je vaše FTP jméno uživatele a heslo ověřeno FTP serverem, jste přihlášeni na FTP server.
Zobrazí se ftp>
výzva.
Rozhlížet se a načítat soubory
Nejprve budete pravděpodobně chtít získat seznam souborů na serveru FTP. ls
Příkaz dělá jen to. Náš uživatel vidí, že gc.c
je soubor na serveru FTP, a chce si jej stáhnout do svého počítače. Jeho počítač je v jazyce FTP „místní počítač“.
Příkaz k načtení (nebo „získání“) souboru je get
. Náš uživatel tedy vydá příkaz get gc.c
. Napíšou get
, mezeru a poté název souboru, který chtějí načíst.
Server FTP odpoví přenosem souboru do místního počítače a potvrzením, že došlo k přenosu. Zobrazena je také velikost souboru a čas potřebný k přenosu.
je
získat gc.c
Chcete-li načíst více souborů najednou, použijte příkaz mget
(multiple get). mget
Příkaz vás požádá o potvrzení, zda chcete stahovat jednotlivé soubory v pořadí. Odpovězte stisknutím „y“ pro ano a „n“ pro ne.
To by bylo zdlouhavé pro velké množství souborů. Z tohoto důvodu jsou sbírky souvisejících souborů obvykle ukládány na ftp webech jako jednotlivé soubory tar.gz nebo tar.bz2.
SOUVISEJÍCÍ: Jak extrahovat soubory ze souboru .tar.gz nebo .tar.bz2 v systému Linux
mget * .c
Odesílání souborů na server FTP
V závislosti na oprávněních udělených vašemu účtu FTP možná budete moci nahrávat (nebo „vkládat“) soubory na server. Chcete-li nahrát soubor, použijte put
příkaz. V našem příkladu uživatel nahrává soubor nazvaný Songs.tar.gz
na server FTP.
dát Songs.tar.gz
Jak pravděpodobně očekáváte, existuje příkaz pro vložení více souborů na server FTP najednou. Říká se tomu mput
(multiple put). Stejně jako mget
příkaz mput
požádá o potvrzení „y“ nebo „n“ pro nahrání každého souboru, jeden po druhém.
Stejný argument pro vkládání souborů do archivů tar platí pro vkládání souborů i pro získávání souborů. Náš uživatel nahrává několik souborů „.odt“ pomocí následujícího příkazu:
mput * .odt
Vytváření a změna adresářů
Pokud to váš uživatelský účet na serveru ftp umožňuje, můžete vytvářet adresáře. Příkaz k tomu je mkdir
. Aby bylo jasno, jakýkoli adresář, který vytvoříte pomocí mkdir
příkazu, bude vytvořen na serveru ftp, nikoli na místním počítači.
Chcete-li změnit adresáře na serveru ftp, použijte cd
příkaz. Když použijete cd
příkaz, ftp>
výzva se nezmění tak, aby odrážela váš nový aktuální adresář. Příkaz pwd
(print working directory) vám ukáže váš aktuální adresář.
Náš uživatel ftp vytvoří adresář s názvem hudba, změní se do tohoto nového adresáře, pomocí pwd
příkazu potvrdí, kde se nachází, a poté do tohoto adresáře nahraje soubor.
hudba mkdir
CD hudba
pwd
dát songs.tar.gz
Chcete-li se rychle přesunout do nadřazeného adresáře aktuálního adresáře, použijte cdup
příkaz.
cdup
Přístup k místnímu počítači
Chcete-li změnit adresář v místním počítači, můžete použít lcd
příkaz na ftp>
výzvu. Je však snadné ztratit přehled o tom, kde se v místním souborovém systému nacházíte. Výhodnějším způsobem přístupu k místnímu souborovému systému je použití !
příkazu.
!
Příkaz otevře okno prostředí do místního počítače. V tomto prostředí můžete dělat cokoli, co můžete ve standardním terminálovém okně. Po zadání exit
se vrátíte na ftp>
výzvu.
Náš uživatel použil !
příkaz a vstoupil do okna prostředí v místním počítači. Vydali ls
příkaz, aby zjistili, jaké soubory jsou v daném adresáři, a poté se zadali, exit
aby se vrátili na ftp>
výzvu.
!
je
výstup
Přejmenování souborů
Chcete-li přejmenovat soubory na serveru FTP, použijte rename
příkaz. Zde náš uživatel FTP přejmenuje soubor rename
a pomocí ls
příkazu zobrazí seznam souborů v adresáři.
přejmenujte songs.tar.gz rock_songs.tar.gz
je
Mazání souborů
Chcete-li odstranit soubory na serveru FTP, použijte delete
příkaz. Chcete-li odstranit několik souborů najednou, použijte mdelete
příkaz. Budete požádáni o potvrzení „y“ nebo „n“ pro odstranění každého souboru.
Zde náš uživatel FTP uvedl soubory, aby viděl jejich jména, a poté vybral jeden, který má smazat. Poté se rozhodnou je všechny smazat.
je
smazat gc.o
mdelete * .o
Pomocí příkazu sftp
Čtenáři obeznámení se systémem adresování IP si všimli, že adresa 192.168 FTP serveru použitá ve výše uvedených příkladech je interní adresa IP, nazývaná také soukromá adresa IP. Jak jsme varovali na začátku tohoto článku, ftp
příkaz by měl být používán pouze v interních sítích.
Chcete-li se připojit ke vzdálenému nebo veřejnému serveru FTP, použijte sftp
příkaz. Náš uživatel se chystá připojit k účtu SFTP volanému demo
na veřejně přístupném serveru FTP umístěném na adrese test.trebex.net
.
Když se připojí, jsou informováni, že spojení bylo navázáno. Jsou také informováni, že nelze ověřit autenticitu hostitele. To je normální pro první připojení nového hostitele. Stisknutím tlačítka „y“ připojení přijmou.
Protože název uživatelského účtu ( demo
) byl předán na příkazovém řádku, nezobrazí se výzva k zadání názvu uživatelského účtu. Jsou vyzváni pouze k zadání hesla. To se zadá, ověří a přijme a zobrazí se sftp>
výzva.
sftp [email protected]
Příkazy FTP, které jsme popsali výše, budou v relaci SFTP fungovat stejně, s následujícími výjimkami.
- Odstranění souboru
rm
( použití FTPdelete
) - Chcete-li odstranit více souborů, použijte
rm
( použití FTPmdelete
) - K přesunu do nadřazeného adresáře použijte
cd ..
( použití FTPcdup
)
Náš uživatel během relace SFTP použil několik příkazů. Mají zvyk ls
vypsat soubory a cd
změnit se do pub adresáře. Použili pwd
k vytištění pracovního adresáře.
Ve světě Linuxu existují další možnosti přenosu souborů, zejména scp
(zabezpečená kopie), ale zde jsme se zaměřili na FTP a SFTP. Tyto dva příkazy, které se používají v příslušných scénářích, budou sloužit vám i vašim potřebám úložiště a načítání souborů.