POWRÓĆ

FTP (File Transfer Protocol)

to protokół służący do wymiany plików pomiędzy klientem a serwerem. FTP jest powszechnie używany przez webmasterów do przesyłania stron internetowych na serwer WWW.
Nowoczesne programy takie jak FileZilla oferują zaawansowane funkcje, m.in. wznawianie transferu czy szyfrowanie transmisji. Czasami jednak nie mamy do dyspozycji takiego klienta FTP. Z pomocą przychodzi wówczas program ftp, dostępny zarówno w systemie Windows, jak i większości systemów uniksowych i uniksopodobnych.
Ftp działa w konsoli/wierszu poleceń. Jest to program interaktywny – polecenia wprowadza się po znaku zachęty.

Uruchamianie programu
Aby uruchomić klienta w systemie Windows, wchodzimy do Menu Start, wybieramy pozycję „Uruchom” i w wyświetlonym okienku wpisujemy:
ftp
W systemie Linux/Unix wydajemy w konsoli polecenie:
$ ftp

Nawiązywanie połączenia z serwerem
Po uruchomieniu programu zostanie wyświetlony znak zachęty (ftp>). Aby połączyć się z serwerem FTP wydajemy polecenie:

ftp> open adres_serwera
Zostaniemy poproszeni o podanie nazwy użytkownika i hasła. W przypadku logowania anonimowego, jako nazwę użytkownika wprowadzamy „anonymous”. Jeżeli ukaże się błąd:
530 Login incorrect
Oznacza to, że podaliśmy błędną nazwę użytkownika i/lub hasło. Aby spróbować ponownie, wprowadzamy komendę „user”, która ponownie zapyta nas o login i hasło. Gdy logowanie powiodło się, otrzymamy komunikat:
230 User nazwa_użytkownika logged in.


Podstawowe operacje
Możemy teraz przystąpić do transferu plików. Na początek warto wyjaśnić dwa pojęcia.

ftp> lcd /home/mateusz/stronaLokalny katalog roboczy, to katalog, do którego będą kopiowane pliki pobrane z serwera. Pliki wysyłane na serwer będą pobierane z tego katalogu. Aby ustawić lokalny katalog roboczy, używamy polecenia „lcd”, np.:
a w przypadku systemu Windows:ftp> lcd "C:\Documents and Settings\Mateusz\Moje dokumenty\strona"
ftp> cd /www/imagesZdalny katalog roboczy to katalog na serwerze, do/z którego będą kopiowane pliki. Ustawiamy go komendą „cd”, np.:
ftp> pwdAby zobaczyć, w jakim katalogu zdalnym się znajdujemy. Wynik: 257 "/www/images" is current directory.
ftp> lsPolecenie „ls” wyświetla pliki i katalogi znajdujące się w zdalnym katalogu roboczym:


Przesyłanie plików
Przesyłanie plików pomiędzy serwerem i klientem może odbywać się w trybie ASCII lub binarnym. W trybie ASCII niektóre bity (np. znaki końca wiersza) są modyfikowane. W przypadku trybu binarnego pliki nie są zmieniane podczas przesyłania. Niepoprawne ustawienie trybu transferu może skutkować uszkodzeniem pliku.
Ważne jest odpowiednie dobranie trybu transferu przed rozpoczęciem przesyłania plików. Tryb binarny należy zastosować dla plików wykonywalnych, archiwów, zdjęć, plików muzycznych i filmowych, dokumentów .doc i .pdf. Tryb tekstowy stosuje się m.in. do plików .txt, .html, .php, .css i innych, dla których otwarcie pliku w edytorze tekstowym zwróci czytelny tekst.
Aby ustawić typ transferu na binarny, należy wydać polecenie „binary”. Tryb ASCII ustawiamy poleceniem „ascii”. Aby dowiedzieć się, jaki tryb jest aktualnie używany, należy wydać polecenie „status”.
Po poprawnym ustawieniu trybu transferu można przystąpić do wymiany plików.

ftp> get nazwa_plikuAby pobrać plik na dysk twardy, używamy komendy get
ftp> get nazwa_pliku nowa_nazwaMożna pobrać plik i zapisać go w katalogu roboczym pod zmienioną nazwą
ftp> mget plik1 plik2 plik3Istnieje także możliwość pobrania wielu plików do katalogu roboczego za pomocą jednego polecenia - „mget”
ftp> put nazwa_plikuAby wysłać plik z lokalnego katalogu roboczego do katalogu zdalnego, możemy użyć polecenia „put”
ftp> put nazwa_pliku nowa_nazwaMożna także wysłać plik pod zmienioną nazwą
ftp> mput plik1 plik2 plik3wysłanie na serwer wielu plików za pomocą polecenia „mput”
ftp> delete nazwa_plikuUsuwanie plików
ftp> mdelete plik1 plik2 plik3Można także usunąć wiele plików używając polecenia mdelete:
ftp> disconnectPo zakończeniu pracy należy rozłączyć się z serwerem używając komendy „disconnect”
ftp> quitJeżeli nie zamierzamy łączyć się z innym serwerem (komendą „open”), możemy opuścić program poleceniem „quit”.


Program ftp dysponuje większymi możliwościami, niż przedstawione w artykule. Aby poznać więcej poleceń programu, należy użyć komendy „?”:

ftp> ?
Warto podkreślić, że program w systemach uniksowych jest zdecydowanie bardziej rozbudowany, niż w przypadku Windowsa. Aby poznać wszystkie możliwości programu, należy skorzystać ze strony man programu.
Dla przykładu – w systemie NetBSD należy wydać następujące polecenie:

$ man 1 ftp