FTP Commands and Extensions
- Created
- 2010-01-07
- Last Updated
- 2024-04-22
- Available Formats
-
XML
HTML
Plain text
Registry included below
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
-
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 To | s | m | [RFC959][RFC Errata 5748] |
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} |