# 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 | &1000775 RFC 775 | Change to the parent of the current working directory |
| XMKD | &1000775 RFC 775 | Make a directory |
| XPWD | &1000775 RFC 775 | Print the current working directory |
| XRCP | &1000743 RFC 743 | RFC 959 |
| XRMD | &1000775 RFC 775 | Remove the directory |
| XRSQ | &1000743 RFC 743 | RFC 959 |
| XSEM | &1000737 RFC 737 | Send, mail if cannot |
| XSEN | &1000737 RFC 737 | Send to terminal |