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 [https://datatracker.ietf.org/doc/draft-ietf-ftpext-utf-8-option/ 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 |