Uso del comando FTP

Dicembre 2016
FTP (File Transfer Protocol) è un protocollo, cioè un linguaggio di comunicazione standard tra due terminali, che permette a dei terminali di tipo differente (o con sistemi operativi diversi) di trasferire dei file su una rete che funziona su TCP/IP.


Il protocollo FTP

FTP funziona in un ambiente client/server, cioè il terminale remoto è configurato in server e di conseguenza attende che un terminale gli chieda un servizio. Su UNIX, il servizio è fornito da quello che chiamiamo demoni, un'azione di background. Il demone FTP si chiama ftpd.

I software client sono numerosi, la maggior parte sono in linea di comando (ad esempio il comando ftp, implementato in standard su numerosi sistemi operativi), ma alcuni permettono di manipolare dei file su un'interfaccia grafica (CuteFTP ad esempio), rendendo il trasferimento dei file più conviviale.

Il protocollo FTP permette di scambiare un file per volta, nei due sensi tra il terminale client (quello che ha iniziato la connessione, quindi il terminale chiamante) e il terminale server (quello che ha fornito il servizio FTP, quindi il terminale chiamato). Il protocollo FTP permette inoltre altre azioni come creare e eliminare cartelle (a condizione che siano vuote), elencare i file, eliminare e rinominare file, ecc.

Protocollo e implementazione

Bisogna non confondere le due nozioni di protocollo e di implementazione. In effetti, un protocollo è un insieme di regole e procedure che sono state definite per standardizzare la comunicazione, mentre l'implementazione è la programmazione di un software secondo (più o meno) le raccomandazioni del protocollo. Quindi, FTP è stato rapidamente implementato (adattato partendo dalle specifiche del protocollo) su numerose piattaforme.

Avvio di una sessione FTP

FTP è fornito in standard su diverse piattaforme, fra cui UNIX, Windows9x, WindowsNT, Linux, ecc. Il comando per iniziare una sessione FTP è generalmente il seguente:
ftp nome_del_server


nome_del_server rappresenta ovviamente il nome (o l'indirizzo IP) del terminale remoto al quale si desidera connettersi. Evidentemente il terminale scelto deve essere un server FTP.

All'inizializzazione della connessione, alcune linee di testo appaiono sullo schermo. La prima linea segnala che siete connessi ad un server FTP, le linee seguenti costituiscono un messaggio di benvenuto che può indicare il tipo di sito FTP (ad esempio il genere di file ospita o l'ente al quale appartiene), oppure delle raccomandazioni per gli utenti.

Su FTP, ogni linea comincia con un numero che indica un codice relativo ad un fallimento o ad un successo. Nel caso del messaggio di benvenuto, la linea è ad esempio preceduta dal numero 220, che significa che "il servizio è pronto per il nuovo utente".

Il server vi chiederà di digitare il login o ID per definire i privilegi di accesso (come il permesso di scrittura o lettura). Dopo la validazione, una linea che inizia con il numero 331 vi inviterà ad inserire la password che sarà mascherata, cioè non apparirà sullo schermo.

Può succedere che il server sia pubblico, nel qual caso il nome utente resta anonimo e dovrete digitare come login: "anonymous". La pratica vuole che si inserisca come password per un sito pubblico il proprio indirizzo di posta elettronica, ma potete scegliere altro.

Una volta convalidato, un messaggio vi indicherà se la connessione è stata o meno stabilita. Nel secondo caso vi saranno date le ragioni del fallimento (il sito può ad esempio aver raggiunto il proprio limite in termini di utenti, il messaggio sarà allora "No more user access allowed"). Una volta connesso, il sito FTP aspetta i comandi per le azioni da effettuare.

Comandi su FTP

Dato che i comandi girano solitamente su piattaforme UNIX (dato che si adattano meglio al lavoro in rete), i comandi FTP sono generalmente dei comandi UNIX. I comandi standard sono i seguenti:


ComandoDescription
helpVisualizza l'insieme dei comandi supportati dal server FTP
statusConsente di sapere alcuni impostazioni del terminale cliente
binaryQuesto comando cambia la modalità di trasferimento da modalità ASCII (invio di documenti testuali) in modalità binaria (invio di file binari, ciò file -non testo- come immagini o programmi)
asciiCambia da modalità binaria in modalità ascii. Questo è il modo per default.
typeVisualizza la modalità attuale di trasferimento (binary o ascii)
userConsente di avviare una sessione sul sito FTP in corso però con un nome utente diverso. Una nuova password vi sarà richiesta
lsVisualizza un elenco dei file della directory aperta. Il comando "ls -l" dà delle informazioni aggiuntive sui file
pwdVisualizza il nome completo della directory aperta
cdQuesto comando significa change directory, consente di cambiare la cartella corrente. Il comando "CD.." permette di accedere alla cartella di livello superiore
mkdirIl comando mkdir (su UNIX, o md sul sistema Microsoft) permette di creare una cartella nella cartella corrente. L'uso di questo comando è riservato agli utenti con un accesso previsto a questo effetto
rmdirIl comando rmdir (su UNIX, o rd sul sistema Microsoft) permette di eliminare una cartella nella cartella corrente. L'uso di questo comando è riservato agli utenti con un accesso previsto a questo effetto
getConsente di recuperare (scaricare) un file presente sul server:

Se il comando è seguito da un nome di file, il file remoto è trasferito su un terminale locale nella cartella locale in corso

Se il comando è seguito da due nomi di file, il file remoto (il primo nome) è trasferito su un terminale locale nella cartella locale in corso, con il nome di file indicato in secondo (il secondo nome).

Se il nome del file dovesse contenere degli spazi, bisognerà fare attenzione a metterlo fra virgolette
putConsente di inviare (caricare) un file locale sul server remoto:

Se il comando è seguito da un nome di file, il file locale è trasferito sul server nella cartella remota in corso

Se il comando è seguito da due nomi di file, il file locale (il primo nome) è trasferito sul server nella cartella remota in corso, con il nome del file indicato in secondo (il secondo nome).
Se il nome del file dovesse contenere degli spazi, bisognerà fare attenzione a metterlo fra virgolette
openChiude la sessione in corso e apre una nuova sessione su un server FTP diverso
closeChiude la sessione in corso, lasciando il programma FTP cliente attivo
byeSconnette il programma cliente dal server FTP e lo mette in stato inattivo
quitSconnette il programma cliente dal server FTP e lo mette in stato inattivo

Potrebbe anche interessarti :
Il documento intitolato « Uso del comando FTP » da CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.