The FTP Protocol

When a server accepts FTP requests, it opens a port (generally port 21) for incoming connections and authenticates clients based on account or anonymous privileges. A user may log in with a legitimate account on that machine, provide her own password, and access any file she normally has access to under the Unix shell. Many servers also allow “anonymous” FTP, in which users log in with the name “anonymous” and use their email address as the password. They are then granted restricted access to a limited portion of the filesystem.

The FTP commands defined in RFC 959 are listed in the following table:

Command

Meaning

ABOR

Abort previous FTP command.

ACCT

Specify the user’s account.

ALLO

Tell server to allocate additional storage for new file.

APPE

Tell server to append to an existing file.

CDUP

Change to parent directory.

CWD

Change directory.

DELE

Delete a file.

HELP

Get help.

LIST

List files for display.

MKD

Make a directory.

MODE

Specify the data transfer mode.

NLST

List files for additional processing.

NOOP

No-op.

PASS

Specify the user’s password.

PASV

Tell server to go into “passive” mode.

PORT

Specify data port for connection.

PWD

Print working directory.

QUIT

Close connection.

REIN

Reinitialize connection.

REST

Restart a file transfer.

RETR

Retrieve a file.

RMD

Remove a directory.

RNFR

Specify pathname of file to be renamed.

RNTO

Specify new name of file being renamed.

SITE

Provide additional site-specific services.

SMNT

Mount a different filesystem.

STAT

Get status.

STOR

Tell server to accept a file for storage.

Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.