FTP (File transfer protocol) - Práca s ftp

Ftp je protokol, pomocou ktorého môžeme prenášať po sieti rôzné súbory. Pritom nezáleží, či je prenášaný súbor textový alebo binárny. Podmienkou je aby ste mali na ftp server kam sa prípájate prístup. Na server možno aj ukládať súbory (upload), aj ich z neho nahrávať (download), len treba mať na to privilégiá. Ak sa prihlásite cez ftp (svojím menom ak na ňom existuje), máte nad súbormi a adresármi tie isté právomoci, ako keby ste sa prihlásili priamo z konzoly. Úživateľom môžeme prístup na server odobrať a niektorý sa isto na server nemôžu príhlasiť ako napríklad root. Je možné sa príhalsiť aj ako užívateľ anonymous, guest alebo ftp. Týto uživatelia nepotrebujú heslo. Môžu sa pohybovať iba po obmedzenom priestore, väčšinou nemôžu nič mazať a prepísovať. Zato si však môže skopírovať súbory ktoré tam pripravil správca.

 

Na prípojenie z nšho počítača na FTP sa používa príkaz ftp. Stačí napísať ftp menoservera.sk (resp. IP) a hneď sa spojíme so serverom. Uvítacie obrázovky sú rozné od druhu ftp servera a od nastavenia spravcom. Mne zobrazílo nasledovnú:

 

petulko@server:~$ ftp localhost
Connected to localhost.
220 ProFTPD 1.3.1 Server ready.
Name (localhost:petulko):      

 

Ak sa chceme príhlasiť pod tým istým menom, pod akým sme prihlásení stačí stláčiť ENTER. Ak chceme iný tak ho napíšeme a stláčime ENTER. Ak je konto chránene heslom ftp server si ho vypýta. Po príhlasení sa objavia ďalšie správy:


331 Password required for petulko
Password:
230 User petulko logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>_

 

Teraz náš ftp server čaká na ďalšie príkazy. Čo teraz? môžeme použiť klasické príkazy známe z BASHu.

ls - výpis súborov aktuálneho priečinku (ls priečinok - výpis súborov zadaného pričinku)

cd priečinok - prejde do priečinka priečinok, cdup - o adresár vyšie

pwd - v ktorom priečinku sa nachádzam

mkdir- vytvorí priečinok

rmdir - zmáže priečinok

delete - odstráni súbor

size - nám vypíše veľkosť súboru

 

Na lokálnom počítači sa po adresároch môžeme pohybovať príkazom lcd. Niečo ako pwd pre lokálny adresár neexistuje, môžeme však s výhodou použiť príkaz lcd. Rovnako aj vypis lokálneho adresára sa dá vyvolať len okľukou použitím !ls. Samotný ! ako príkaz spustí shell, ! a príkaz spôsobí vykonanie daného príkazu operačného systému.

Ftp servery sú nastavené tak, že ak dlhší čas po prihlásení nevykonávame nejaku činnosť odhlásia nás.

Ak spustíme príkaz ftp a nezadám meno servera dostaneme sa do príkazového režimu. Spojenie mžeme nadviazať open menoservera.sk.

 

FTP server ma slúžiť hlavné na prenašanie súborov. Poďme teda k jadru vecí a vysvetlíme si najskôr teóriu. FTP pozná viacej druhov prenosov, najbežnejšie sú ASCII a binárne. Uistite sa, že vždy používate binárny prenos, aj keď ste si istí, že sa prenášajú len textové súbory. Taký prenos sa zapína príkazom bin. Najlepšie je, keď tento príkaz zadáte hneď po príhalsení. Príkazom type si overíme aký typ prenosu máme zapnutý.

 

Ak chceme preniesť súbor zo serveru na lokálný disk zadame príkaz get súbor. Na našom lokálnom disku v aktuálnom priečinku sa vytvára súbor ktorý sme si zvolili. Ak chcete aby sa po každom prijatom kilobajte vypísal znak # zadajte príkaz hash a uistite sa, že dostanete hlásenie, printing je on. Ak ho nedostanete zadajte príkaz ešte raz (tento a zopár ďalších príkazov fungujú ako prepínače - po každom zadaní zmenia nastavenie na opačné - z on na off a opačne). Ak chcete aby vás počítač úpozornil po prenesení súboru pipnutím zadajte príkaz beep. Ak potrebujete aby sa prenašaný ssúbor zapísal na localný disk pod iným menom použíte príkaz get menosuborunaservere novemenosuboru.

V príkaze get sa nedajú použiť znaky ako ? a *. Tie môžeme použiť v príkaze mget, ktorý funguje rovnako ako obyčajný get. V mget môžeme súšasne sťahovať viac súborov ktoré napišeme za sebou a odelime ich medzerou, alebo namiesto dlheho nazvu libwine-dev_0.0.98545457.deb napisať mget libwine*. Ak nastavíme promt na on po každom prenesonom súbore sa nás spyta, že či ma preniesť ďalší.

Ak sa nám z nejakého dôvodu preruší spojenie a máme veľkú časť súboru stiahnútu môžeme skúsiť reget menosuboru. Ak to server podporúje mal by sa súbor doťahať.

 

Ako dostať súbor na server?

Služia na to príkazy put a mput. platí tu všetko ako pri get a mget.

 

Príkazom append prípojíme localný súbor na koniec súboru na servery. Syntax je zhodna so syntaxou get alebo put.

 

Prenos môžeme prerušiť kombináciou <CTRL> + <C>. Ak súbor príjmame prenos sa zastaví hneď, ak súbor posieláme musíme počkať kým druhá strana spracuje príkaz ABOR.

 

Odpojíme sa buď zadaním bye alebo exit a da sa použiť aj kombinácia <CTRL> + <D>.