ftp to klasyczny, interaktywny klient protokołu FTP (File Transfer Protocol). Łączysz się nim z serwerem, a potem w trybie interaktywnym wpisujesz polecenia w stylu get, put czy ls, żeby pobierać i wysyłać pliki. Działa od dekad i jest na praktycznie każdym Uniksie, ale ma jedną fundamentalną wadę: nic nie szyfruje — login, hasło i pliki lecą przez sieć czystym tekstem. Traktuj go jak narzędzie do nauki, starych serwerów i sieci lokalnej, a nie do produkcyjnego transferu przez internet.
Składnia i najważniejsze opcje
Podstawowe wywołanie wygląda tak:
ftp [opcje] [host]
-i— wyłącza interaktywne pytania przy transferze wielu plików (przydatne zmget/mput).-n— blokuje automatyczne logowanie; przydaje się, gdy chcesz podać dane z pliku.netrcalbo ręcznie.-v— tryb gadatliwy, pokazuje wszystkie odpowiedzi serwera i statystyki transferu.-p— wymusza tryb pasywny (passive), ratunek przy NAT i firewallach.-d— włącza debug, czyli pełny dialog klient-serwer.-g— wyłącza rozwijanie nazw plików (globbing), żeby*i?traktować dosłownie.
Flagi można łączyć, np. ftp -inv host.
Przykłady użycia
ftp ftp.example.com— łączysz się z serwerem; klient zapyta o login i hasło, a potem dostajesz znak zachętyftp>.get raport.csv— w trybie interaktywnym pobierasz pojedynczy plik do bieżącego katalogu lokalnego.put backup.tar.gz— wysyłasz plik z dysku lokalnego na serwer.ftp -i host, a po zalogowaniumget *.log— ściągasz wszystkie pliki.logbez potwierdzania każdego z osobna.binaryprzed transferem — przełącza tryb na binarny, żeby nie uszkodzić archiwów i obrazków (trybasciipsuje pliki nietekstowe).
Wewnątrz sesji przydadzą się też cd i lcd (zmiana katalogu zdalnego i lokalnego), ls oraz bye do rozłączenia.
Częste błędy i pułapki
Najczęstszy zonk to tryb ASCII zamiast binarnego — wgrany w ASCII plik ZIP czy PNG przyjedzie uszkodzony. Drugi to wiszące połączenie przez firewall: jeśli ls się zawiesza, włącz tryb pasywny komendą passive w sesji lub flagą -p. Pamiętaj, że nazwy poleceń różnią się między implementacjami — na wielu Linuksach /usr/bin/ftp to tak naprawdę tnftp, który ma bogatsze opcje niż minimalistyczny klient z BSD. I najważniejsze: skoro FTP leci jawnym tekstem, do prawdziwej pracy używaj szyfrowanych zamienników.
Powiązane komendy: sftp, scp, rsync, lftp, wget, curl, telnet.