Below is a list of FTP commands that may be sent to an FTP server, including all commands that are standardized in RFC 959 by the IETF. All commands below are RFC 959 based unless stated otherwise. Note that most command-line FTP clients present their own 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 | Abort an active file transfer. | |
ACCT | Account information. | |
ADAT | RFC 2228 | Authentication/Security Data |
ALLO | Allocate sufficient disk space to receive a file. | |
APPE | Append. | |
AUTH | RFC 2228 | Authentication/Security Mechanism |
CCC | RFC 2228 | Clear Command Channel |
CDUP | Change to Parent Directory. | |
CONF | RFC 2228 | Confidentiality Protection Command |
CWD | Change working directory. | |
DELE | Delete file. | |
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 | Returns usage documentation on a command if specified, else a general help document is returned. | |
LANG | RFC 2640 | Language Negotiation |
LIST | 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. |
MIC | RFC 2228 | Integrity Protected Command |
MKD | Make directory. | |
MLSD | RFC 3659 | Lists the contents of a directory if a directory is named. |
MLST | RFC 3659 | Provides data about exactly the object named on its command line, and no others. |
MODE | Sets the transfer mode (Stream, Block, or Compressed). | |
NLST | Returns a list of file names in a specified directory. | |
NOOP | No operation (dummy packet; used mostly on keepalives). | |
OPTS | RFC 2389 | Select options for a feature. |
OPTS_UTF8 or OPTS <SP> UTF-8 | RFC 2026(Draft 2002) | UTF-8 Option for FTP |
PASS | Authentication password. | |
PASV | Enter passive mode. | |
PBSZ | RFC 2228 | Protection Buffer Size |
PORT | Specifies an address and port to which the server should connect. | |
PROT | RFC 2228 | Data Channel Protection Level. |
PWD | Print working directory. Returns the current directory of the host. | |
QUIT | Disconnect. | |
REIN | Re initializes the connection. | |
REST | Restart transfer from the specified point. | |
RETR | Retrieve a copy of the file | |
RMD | Remove a directory. | |
RNFR | Rename from. | |
RNTO | Rename to. | |
SITE | Sends site specific commands to remote server. | |
SIZE | RFC 3659 | Return the size of a file. |
SMNT | Mount file structure. | |
STAT | Returns the current status. | |
STOR | Accept the data and to store the data as a file at the server site | |
STOU | Store file uniquely. | |
STRU | Set file transfer structure. | |
SYST | Return system type. | |
TYPE | Sets the transfer mode (ASCII/Binary). | |
USER | 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 | |
XRMD | RFC 775 | Remove the directory |
XRSQ | RFC 743 | |
XSEM | RFC 737 | Send, mail if cannot |
XSEN | RFC 737 | Send to terminal |