FTP Commands List PDF
FTP Commands List PDF
FTP Commands List PDF
Note that commands marked with a * are not implemented in a number of FTP servers.
Common commands
Syntax: ABOR
ACCT*
This command is used to send account information on systems that require it. Typically
sent after a PASS command.
ALLO
Allocates sufficient storage space to receive a file. If the maximum size of a record also
needs to be known, that is sent as a second numeric parameter following a space, the
capital letter "R", and another space.
APPE
Append data to the end of a file on the remote host. If the file does not already exist, it
is created. This command must be preceded by a PORT or PASV command so that the
server knows where to receive data from.
CDUP
Syntax: CDUP
CWD
Makes the given directory be the current directory on the remote host.
DELE
HELP
If a command is given, returns help on that command; otherwise, returns general help
for the FTP server (usually a list of supported commands).
LIST
MDTM
Returns the last-modified time of the given file on the remote host in the format
"YYYYMMDDhhmmss": YYYY is the four-digit year, MM is the month from 01 to 12, DD is the
day of the month from 01 to 31, hh is the hour from 00 to 23, mm is the minute from 00
to 59, and ss is the second from 00 to 59.
MKD
MODE
S - Stream
B - Block
C - Compressed
NLST
Returns a list of filenames in the given directory (defaulting to the current directory),
with no other information. Must be preceded by a PORT or PASV command.
NOOP
Syntax: NOOP
PASS
After sending the USER command, send this command to complete the login process.
(Note, however, that an ACCT command may have to be used on some systems.)
PASV
Syntax: PASV
Tells the server to enter "passive mode". In passive mode, the server will wait for the
client to establish a connection with it rather than attempting to connect to a client-
specified port. The server will respond with the address of the port it is listening on,
with a message like:
227 Entering Passive Mode (a1,a2,a3,a4,p1,p2)
where a1.a2.a3.a4 is the IP address and p1*256+p2 is the port number.
PORT
Specifies the host and port to which the server should connect for the next file transfer.
This is interpreted as IP address a1.a2.a3.a4, port p1*256+p2.
PWD
Syntax: PWD
QUIT
Syntax: QUIT
REIN*
Syntax: REIN
REST
Sets the point at which a file transfer should start; useful for resuming interrupted
transfers. For nonstructured files, this is simply a decimal number. This command must
immediately precede a data transfer command (RETR or STOR only); i.e. it must come
after any PORT or PASV command.
RETR
Begins transmission of a file from the remote host. Must be preceded by either a PORT
command or a PASV command to indicate where the server should send data.
RMD
RNFR
Used when renaming a file. Use this command to specify the file to be renamed; follow
it with an RNTO command to specify the new name for the file.
RNTO
Used when renaming a file. After sending an RNFR command to specify the file to
rename, send this command to specify the new name for the file.
SITE*
SIZE
STAT
If invoked without parameters, returns general status information about the FTP server
process. If a parameter is given, acts like the LIST command, except that data is sent
over the control connection (no PORT or PASV command is required).
STOR
Begins transmission of a file to the remote site. Must be preceded by either a PORT
command or a PASV command so the server knows where to accept data from.
STOU
Syntax: STOU
Begins transmission of a file to the remote site; the remote filename will be unique in
the current directory. The response from the server will include the filename.
STRU
SYST
Syntax: SYST
Returns a word identifying the system, the word "Type:", and the default transfer type
(as would be set by the TYPE command). For example: UNIX Type: L8
TYPE
A - ASCII text
E - EBCDIC text
I - image (binary data)
L - local format
For A and E, the second-type-character specifies how the text should be interpreted. It
can be:
For L, the second-type-character specifies the number of bits per byte on the local
system, and may not be omitted.
USER
Send this command to begin the login process. username should be a valid username
on the system, or "anonymous" to initiate an anonymous login.