Comandi FTP
Ven 15 Mag 2009
   


Il File Transfer Protocol (FTP) viene descritto nella RFC 959 (traduzione in italiano).

Lista Comandi FTP


Comando Descrizione
ABOR (Abort). Interrompe il trasferimento di file corrente.
ACCT account (Account). Invia informazioni sull'account al sistema. Tipicamente è usato in risposta ad un comando PASS.
ALLO size [R max-record-size] (Allocate). Alloca spazio sufficiente per ricevere un file.
APPE filename (Append). Appende i dati alla fine del file filename che si trova sull'host remoto. Se il file non esiste viene creato.
CDUP (Change to Parent Directory). Permette di risalire alla cartella parente.
CWD directory (Change Working Directory). Cambia la directory corrente, la nuova directory sarà directory.
DELE filename (Delete). Cancella il file filename sull'host remoto.
HELP [command] (Help). Restituisce l'help del comando command, se presente, altrimenti restituisce l'help generale.
LIST [filespec] (List). Se filespec identifica un file restituisce informazioni su quel file. Se identifica una directory restituirà informazioni su tutti i file della directory.
MDTM filename (last MoDification TiMe). Restituisce la data e l'ora dell'ultima modifica al file identificato da filename. La data e l'ora sono nella forma: "YYYYMMDDhhmmss", dove YYYY rappresenta l'anno, MM rappresenta il mese (da 01 a 12), DD rappresenta il giorno (da 01 a 31), hh rappresenta l'ora (da 00 a 23), mm rappresentano i minuti (da 00 a 59), e ss rappresentano i secondi (da 00 a 59).
MKD directory (Make Directory). Crea la directory directory nell'host remoto.
MODE m (Trasfer Mode). Definisce il transfer mode. m può essere
  • S - Stream
  • B - Block
  • C - Compressed
Il transfer mode di default è Stream.
NLST [directory] (Name List). Restituisce la lista dei nomi dei file presenti nella cartella directory. Se non viene specificata nessuna directory restituisce la lista dei nomi dei file presenti nella directory corrente.
NOOP (Noop). NO OPeration
PASS password (Password). Invia la password dell'utente. Dopo l'invio del comando USER si invia questo comando per completare il login.
PASV (Passive). Si richiede al server di entrare nel "passive mode". Nel "passive mode" il server aspetterà che il client stabilisca una connessione ad un indirizzo IP e ad una porta. Il server restituirà al client l'indirizzo IP e la porta su cui aspetta la richiesta di connessione, il messaggio avrà la forma seguente:
227 Entering Passive Mode (ip1,ip2,ip3,ip4,p1,p2)
dove ip1.ip2.ip3.ip4 sarà l'indirizzo IP, e p1*256+p2 sarà la porta.
PORT ip1,ip2,ip3,ip4,p1,p2 (Data Port). Indica l'indirizzo IP e la porta del client a cui il server si potrà connettere. L'indirizzo IP sarà ip1.ip2.ip3.ip4, la porta sarà p1*256+p2.
PWD (Print Directory). Restituisce il nome della directory corrente nell'host remoto.
QUIT (Logout). Termina la sessione in corso.
REIN (Reinitialize). Reinizializza la connessione. Sarà necessario rieffettuare il login con i comandi USER e PASS.
REST position (Restart). Indica il punto (position) da cui deve partire il trasferimento di un file. Utile per riprendere il trasferimento di un file precedentemente interrotto. Deve essere seguito da un comando di trasferimento file, RETR o STOR.
RETR filename (Retrieve). Chiede al server il trasferimento del file filename. Il file viene trasferito dal server al client.
RMD directory (Remove Directory). Cancella directory nell'host remoto.
RNFR filename (Rename From). Rinomina il file filename. Deve essere seguito dal comando RNTO che specifica il nuovo nome del file.
RNTO filename (Rename To). Preceduto dal comando RNFR specifica il nuovo nome del file.
SITE command (Site Parameters). Consente al server di offrire dei servizi specifici non previsti dal protocollo FTP.
SIZE filename (Size). Restituisce la dimensione del file filename.
SMNT (Structure Mount). Consente all’utente di montare un diverso file system.
STAT [filespec] (Status). Restituisce informazioni sullo stato generale del server.
STOR filename (Store). Effettua il trasferimento del file filename dal client al server.
STOU (Store Unique). Effettua il trasferimento di un file dal client al server. Il file sarà memorizzato nella directory corrente e sarà creato per lui un nome univoco.
STRU s (File Structure). Definisce la struttura dati. s può essere
  • F - File (no structure)
  • R - Record structure
  • P - Page structure
La struttura di default è File.
SYST (System). Restituisce il Sistema Operativo del server remoto.
TYPE type [second-type] (Representation Type). Definisce il tipo del file che si dovrà trasferire. type può essere
  • A - ASCII text
  • E - EBCDIC text
  • I - image (binary data)
  • L - local format
Il valore di default è A. Nel caso in cui type=A o type=E second-type, che specifica come deve essere interpretato il testo, può essere
  • N - Non-print. È il valore di default.
  • T - Telnet format control (<CR>, <FF>, ecc.)
  • C - ASA Carriage Control
Nel caso in cui type=L second-type specifica il numero di bit di cui è costituito un byte nel sistema locale.
USER username (User Name). Inizia il processo di login, username deve essere un username valido per il server, oppure deve essere username=anonymous nel caso di un login anonimo.

FTP Server Return Codes (Codici di risposta)


Code Descrizione
100 Series: The requested action is being initiated, expect another reply before proceeding with a new command.
110 Restart marker replay . In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm where yyyy is User-process data stream marker, and mmmm server's equivalent marker (note the spaces between markers and "=").
120 Service ready in nnn minutes.
125 Data connection already open; transfer starting.
150 File status okay; about to open data connection.
200 Command okay.
202 Command not implemented, superfluous at this site.
211 System status, or system help reply.
212 Directory status.
213 File status.
214 Help message.On how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user.
215 NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document.
220 Service ready for new user.
221 Service closing control connection.
225 Data connection open; no transfer in progress.
226 Closing data connection. Requested file action successful (for example, file transfer or file abort).
227 Entering Passive Mode (h1,h2,h3,h4,p1,p2).
228 Entering Long Passive Mode (long address, port).
229 Entering Extended Passive Mode (|||port|).
230 User logged in, proceed. Logged out if appropriate.
231 User logged out; service terminated.
232 Logout command noted, will complete when transfer done.
250 Requested file action okay, completed.
257 "PATHNAME" created.
331 User name okay, need password.
332 Need account for login.
350 Requested file action pending further information
421 Service not available, closing control connection. This may be a reply to any command if the service knows it must shut down.
425 Can't open data connection.
426 Connection closed; transfer aborted.
434 Requested host unavailable.
450 Requested file action not taken.
451 Requested action aborted. Local error in processing.
452 Requested action not taken. Insufficient storage space in system.File unavailable (e.g., file busy).
500 Syntax error, command unrecognized. This may include errors such as command line too long.
501 Syntax error in parameters or arguments.
502 Command not implemented.
503 Bad sequence of commands.
504 Command not implemented for that parameter.
530 Not logged in.
532 Need account for storing files.
550 Requested action not taken. File unavailable (e.g., file not found, no access).
551 Requested action aborted. Page type unknown.
552 Requested file action aborted. Exceeded storage allocation (for current directory or dataset).
553 Requested action not taken. File name not allowed.