Internet Assigned Numbers Authority FTP Commands and Extensions Created 2010-01-07 Last Updated 2024-01-29 Available Formats [IMG] XML [IMG] HTML [IMG] Plain text Registry included below • FTP Commands and Extensions FTP Commands and Extensions Expert(s) John Klensin Reference [RFC5797] Note Note: An IESG Standards Action is allowed to direct IANA to change the Conformance Requirements listed for any entry. The following commands are part of the base FTP specification [RFC959] and are listed in the registry with the immutable pseudo FEAT code "base". Mandatory commands: ABOR, ACCT, ALLO, APPE, CWD, DELE, HELP, LIST, MODE, NLST, NOOP, PASS, PASV, PORT, QUIT, REIN, REST, RETR, RNFR, RNTO, SITE, STAT, STOR, STRU, TYPE, USER Optional commands: CDUP, MKD, PWD, RMD, SMNT, STOU, SYST Note: STD 3 [RFC1123] clarified and updated the status and implementation requirements of these standard FTP commands, and it contains important complementary information for the following commands: LIST, NLST, PASV, REST, SITE, STOU The following commands were specified as experimental in an extension to an early version of the FTP specification [RFC775] but later deprecated by [RFC1123], because Standard FTP [RFC959] specifies their standard successors. They are listed in the registry with the immutable pseudo FEAT code "hist". XCUP, XCWD, XMKD, XPWD, XRMD Implementation note: Deployed FTP clients still make use of the deprecated commands and most FTP servers support them as aliases for the standard commands. The following commands were specified as part of the "FOOBAR" IPng effort in [RFC1545] and, later, [RFC1639] and are now obsolete. They are listed in the registry with the immutable pseudo FEAT code "hist". LPRT, LPSV Legend for the registry: o cmd (Command Name) Amended versions of commands are tagged with a trailing "+" o FEAT Code Keyword returned in FEAT response line for this command/extension: - actual FEAT codes are given in upper case - placeholders (pseudo FEAT codes) are shown in lower case - "-N/A-" indicates a feature not related to one particular command See the "Extension name" clause in Section 2.2 of [RFC5797] for details. o description Brief description of command / extension o type (Command Type) Type or "kind" of command, based on Section 4.1 of [RFC959]: 'a' ... access control 'p' ... parameter setting 's' ... service execution Combinations like 'p/s' are possible. o conf (Conformance Requirements) Expectation for support in modern FTP implementations: 'm' ... mandatory to implement 'o' ... optional 'h' ... historic Available Formats [IMG] CSV Range Registration Procedures registration marked "mandatory" ('m' in the "conf" column) Standards Action all other registrations Specification Required cmd FEAT code description type conf References and Notes ABOR base Abort s m [RFC959] ACCT base Account a m [RFC959] ADAT secu Authentication/Security Data a o [RFC2228] [RFC2773] [RFC4217] ALGS FTP64 ALG status o [RFC6384] Section 11 ALLO base Allocate s m [RFC959] APPE base Append (with create) s m [RFC959] AUTH secu Authentication/Security Mechanism a o [RFC2228] AUTH+ AUTH Authentication/Security Mechanism a o [2][RFC2773][RFC4217] CCC secu Clear Command Channel a o [RFC2228] CDUP base Change to Parent Directory a o [RFC959] CONF secu Confidentiality Protected Command a o [RFC2228] CWD base Change Working Directory a m [RFC959] DELE base Delete File s m [RFC959] ENC secu Privacy Protected Command a o [RFC2228] [RFC2773] [RFC4217] EPRT nat6 Extended Port p o [RFC2428] EPSV nat6 Extended Passive Mode p o [RFC2428] FEAT feat Feature Negotiation a m [1] [RFC2389] HELP base Help s m [RFC959] HOST HOST Hostname a o [RFC7151] LANG UTF8 Language (for Server Messages) p o [RFC2640] LIST base List s m [RFC959][RFC1123] LPRT hist Data Port {FOOBAR} p h [RFC1545][RFC1639] LPSV hist Passive Mode {FOOBAR} p h [RFC1545][RFC1639] MDTM MDTM File Modification Time s o [RFC3659] MIC secu Integrity Protected Command a o [RFC2228][RFC2773] [RFC4217] MKD base Make Directory s o [RFC959] MLSD MLST List Directory (for machine) s o [RFC3659] MLST MLST List Single Object s o [RFC3659] MODE base Transfer Mode p m [RFC959] NLST base Name List s m [RFC959][RFC1123] NOOP base No-Op s m [RFC959] OPTS feat Options p m [1] [RFC2389] PASS base Password a m [RFC959] PASV base Passive Mode p m [RFC959][RFC1123] PBSZ secu Protection Buffer Size p o [RFC2228] PBSZ+ PBSZ Protection Buffer Size p o [RFC4217] PORT base Data Port p m [RFC959] PROT secu Data Channel Protection Level p o [RFC2228] PROT+ PROT Data Channel Protection Level p o [RFC4217] PWD base Print Directory s o [RFC959] QUIT base Logout a m [RFC959] REIN base Reinitialize a m [RFC959] REST base Restart s/p m [RFC959][RFC1123] REST+ REST Restart (for STREAM mode) s/p m [3][RFC3659] RETR base Retrieve s m [RFC959] RMD base Remove Directory s o [RFC959] RNFR base Rename From s/p m [RFC959] RNTO base Rename From s m [RFC959] SITE base Site Parameters s m [RFC959][RFC1123] SIZE SIZE File Size s o [RFC3659] SMNT base Structure Mount a o [RFC959] STAT base Status s m [RFC959] STOR base Store s m [RFC959] STOU base Store Unique a o [RFC959][RFC1123] STRU base File Structure p m [RFC959] SYST base System s o [RFC959] TYPE base Representation Type p m [4][RFC959] USER base User Name a m [RFC959] XCUP hist {precursor for CDUP} s h [RFC775] [RFC1123] XCWD hist {precursor for CWD} s h [RFC775] [RFC1123] XMKD hist {precursor for MKD} s h [RFC775] [RFC1123] XPWD hist {precursor for PWD} s h [RFC775] [RFC1123] XRMD hist {precursor for RMD} s h [RFC775] [RFC1123] -N/A- TVFS Trivial Virtual File Store p o [RFC3659] Footnotes [1] While an IETF Standards Action would be required to make the FEAT mechanism [RFC2389] mandatory, implementation of that extension mechanism is clearly required in conjunction with any extension or feature that depends on it. [2] FEAT String for [RFC4217]: AUTH TLS FEAT String for [RFC2773]: AUTH KEA-SKIPJACK [3] FEAT String: REST STREAM [4] FEAT String: TYPE {semicolon-separated list of supported types} Licensing Terms