List of FTP commands
Below is a list of FTP commands that may be sent to a File Transfer Protocol (FTP) server. It includes all commands that are standardized by the Internet Engineering Task Force (IETF) in RFC 959, plus extensions. Note that most command-line FTP clients present their own non-standard set of commands to users. For example, GET is the common user command to download a file instead of the raw command RETR.
| Command | RFC | Description |
|---|---|---|
| ABOR | RFC 959 | Abort an active file transfer. |
| ACCT | RFC 959 | Account information. |
| ADAT | RFC 2228 | Authentication/Security Data |
| ALLO | RFC 959 | Allocate sufficient disk space to receive a file. |
| APPE | RFC 959 | Append (with create) |
| AUTH | RFC 2228 | Authentication/Security Mechanism |
| AVBL | Streamlined FTP Command Extensions | Get the available space |
| CCC | RFC 2228 | Clear Command Channel |
| CDUP | RFC 959 | Change to Parent Directory. |
| CONF | RFC 2228 | Confidentiality Protection Command |
| CSID | Streamlined FTP Command Extensions | Client / Server Identification |
| CWD | RFC 697 | Change working directory. |
| DELE | RFC 959 | Delete file. |
| DSIZ | Streamlined FTP Command Extensions | Get the directory size |
| ENC | RFC 2228 | Privacy Protected Channel |
| EPRT | RFC 2428 | Specifies an extended address and port to which the server should connect. |
| EPSV | RFC 2428 | Enter extended passive mode. |
| FEAT | RFC 2389 | Get the feature list implemented by the server. |
| HELP | RFC 959 | Returns usage documentation on a command if specified, else a general help document is returned. |
| HOST | RFC 7151 | Identify desired virtual host on server, by name. |
| LANG | RFC 2640 | Language Negotiation |
| LIST | RFC 959 | Returns information of a file or directory if specified, else information of the current working directory is returned. |
| LPRT | RFC 1639 | Specifies a long address and port to which the server should connect. |
| LPSV | RFC 1639 | Enter long passive mode. |
| MDTM | RFC 3659 | Return the last-modified time of a specified file. |
| MFCT | The 'MFMT', 'MFCT', and 'MFF' Command Extensions for FTP | Modify the creation time of a file. |
| MFF | The 'MFMT', 'MFCT', and 'MFF' Command Extensions for FTP | Modify fact (the last modification time, creation time, UNIX group/owner/mode of a file). |
| MFMT | The 'MFMT', 'MFCT', and 'MFF' Command Extensions for FTP | Modify the last modification time of a file. |
| MIC | RFC 2228 | Integrity Protected Command |
| MKD | RFC 959 | Make directory. |
| MLSD | RFC 3659 | Lists the contents of a directory in a standardized machine-readable format. |
| MLST | RFC 3659 | Provides data about exactly the object named on its command line in a standardized machine-readable format. |
| MODE | RFC 959 | Sets the transfer mode (Stream, Block, or Compressed). |
| NLST | RFC 959 | Returns a list of file names in a specified directory. |
| NOOP | RFC 959 | No operation (dummy packet; used mostly on keepalives). |
| OPTS | RFC 2389 | Select options for a feature (for example OPTS UTF8 ON).
|
| PASS | RFC 959 | Authentication password. |
| PASV | RFC 959 | Enter passive mode. |
| PBSZ | RFC 2228 | Protection Buffer Size |
| PORT | RFC 959 | Specifies an address and port to which the server should connect. |
| PROT | RFC 2228 | Data Channel Protection Level. |
| PWD | RFC 959 | Print working directory. Returns the current directory of the host. |
| QUIT | RFC 959 | Disconnect. |
| REIN | RFC 959 | Re initializes the connection. |
| REST | RFC 3659 | Restart transfer from the specified point. |
| RETR | RFC 959 | Retrieve a copy of the file |
| RMD | RFC 959 | Remove a directory. |
| RMDA | Streamlined FTP Command Extensions | Remove a directory tree |
| RNFR | RFC 959 | Rename from. |
| RNTO | RFC 959 | Rename to. |
| SITE | RFC 959 | Sends site specific commands to remote server (like SITE IDLE 60 or SITE UMASK 002). Inspect SITE HELP output for complete list of supported commands.
|
| SIZE | RFC 3659 | Return the size of a file. |
| SMNT | RFC 959 | Mount file structure. |
| SPSV | FTP Extension Allowing IP Forwarding (NATs) | Use single port passive mode (only one TCP port number for both control connections and passive-mode data connections) |
| STAT | RFC 959 | Returns information on the server status, including the status of the current connection |
| STOR | RFC 959 | Accept the data and to store the data as a file at the server site |
| STOU | RFC 959 | Store file uniquely. |
| STRU | RFC 959 | Set file transfer structure. |
| SYST | RFC 959 | Return system type. |
| THMB | Streamlined FTP Command Extensions | Get a thumbnail of a remote image file |
| TYPE | RFC 959 | Sets the transfer mode (ASCII/Binary). |
| USER | RFC 959 | Authentication username. |
| XCUP | RFC 775 | Change to the parent of the current working directory |
| XMKD | RFC 775 | Make a directory |
| XPWD | RFC 775 | Print the current working directory |
| XRCP | RFC 743 | RFC 959 |
| XRMD | RFC 775 | Remove the directory |
| XRSQ | RFC 743 | RFC 959 |
| XSEM | RFC 737 | Send, mail if cannot |
| XSEN | RFC 737 | Send to terminal |
See also
- List of FTP server return codes - in response to commands from a client, the FTP server returns reply codes
External links
- RFC 697 - CWD Command of FTP
- RFC 959 - File Transfer Protocol (FTP)
- RFC 1639 - FTP Operation Over Big Address Records (FOOBAR)
- RFC 2228 - FTP Security Extensions
- RFC 2389 - Feature negotiation mechanism for the File Transfer Protocol
- RFC 2428 - FTP Extensions for IPv6 and NATs
- RFC 2640 - Internationalization of the File Transfer Protocol
- RFC 3659 - Extensions to FTP
- RFC 5797 - FTP Command and Extension Registry
- RFC 7151 - File Transfer Protocol HOST Command for Virtual Hosts
- The 'MFMT', 'MFCT', and 'MFF' Command Extensions for FTP
- Streamlined FTP Command Extensions ('CSID', 'AVBL', 'DSIZ', 'RMDA', and 'THMB' commands)
- FTP Extension Allowing IP Forwarding (NATs)
- UTF-8 Option for FTP
- IANA FTP Commands and Extensions registry - The official registry of FTP Commands and Extensions
- Raw FTP command list