| Command | Description | Usage [] commands optional |
| ! | Escape from the ftp subsystem to the shell. | ! |
| ? | Displays descriptions for ftp commands. ? is identical to help. | ? [command] |
| append | Appends a local file to a file on the remote computer using the current file type setting. | append local-file [remote-file] |
| ascii | Sets the file transfer type to ASCII, the default. | ascii |
| bell | Toggles a bell to ring after each file transfer command is completed. By default, the bell is off. | bell |
| binary | Sets the file transfer type to binary. | binary |
| bye | Ends the FTP session with the remote computer and exits ftp. | bye |
| cd | Changes the working directory on the remote computer. | cd remote-directory |
| close | Ends the FTP session with the remote server and returns to the command interpreter. | close |
| debug | Toggles debugging. When debugging is on, each command sent to the remote computer is printed, preceded by the string >. By default, debugging is off. | debug |
| delete | Deletes files on remote computers. | delete remote-file |
| dir | Displays a list of a remote directory's files and subdirectories. | dir [remote-directory] [local-file] |
| disconnect | Disconnects from the remote computer, retaining the ftp prompt. | disconnect |
| get | Copies a remote file to the local computer using the current file transfer type. | get remote-file [local-file] |
| glob | Toggles file name globbing. Globbing permits use of wildcard characters ( and ?) in local file or path names. By default, globbing is on. | glob |
| hash | Toggles number-sign (#) printing for each data block transferred. The size of a data block is 2048 bytes. By default, hash mark printing is off. | hash |
| help | Displays descriptions for ftp commands. | help [command] |
| lcd | Changes the working directory on the local computer. By default, the working directory is the directory in which ftp was started. | lcd [directory] |
| literal | Sends arguments, verbatim, to the remote FTP server. A single FTP reply code is expected in return. | literal argument [ ...] |
| ls | Displays an abbreviated list of a remote directory's files and subdirectories. | ls [remote-directory] [local-file] |
| mdelete | Deletes files on remote computers. | mdelete remote-files [ ...] |
| mdir | Displays a list of a remote directory's files and subdirectories. You can use mdir to specify multiple files. | mkdir directory |
| mget | Copies remote files to the local computer using the current file transfer type. | mget remote-files [ ...] |
| mkdir | Creates a remote directory. | mdir remote-files [ ...] local-file |
| mls | Displays an abbreviated list of a remote directory's files and subdirectories. | mls remote-files [ ...] local-file |
| mput | Copies local files to the remote computer using the current file transfer type. | mput local-files [ ...] |
| open | Connects to the specified FTP server. | open computer [port] |
| prompt | Toggles prompting. Ftp prompts during multiple file transfers to allow you to selectively retrieve or store files, while mget and mput transfer all files if prompting is turned off. By default, prompting is on. | prompt |
| put | Copies a local file to the remote computer using the current file transfer type. | put local-file [remote-file] |
| pwd | Displays the current directory on the remote computer. | pwd |
| quit | Ends the FTP session with the remote computer and exits ftp. | quit |
| quote | Sends arguments, verbatim, to the remote FTP server. A single FTP reply code is expected in return. Quote is identical to literal. | quote argument [ ...] |
| recv | Copies a remote file to the local computer using the current file transfer type. Recv is identical to get. | recv remote-file [local-file] |
| remotehelp | Displays help for remote commands. | remotehelp [command] |
| rename | Renames remote files. | rename filename newfilename |
| rmdir | Deletes a remote directory. | rmdir directory |
| send | Copies a local file to the remote computer using the current file transfer type. Send is identical to put. | send local-file [remote-file] |
| status | Displays the current status of FTP connections and toggles. | status |
| trace | Toggles packet tracing. Trace displays the route of each packet when running an ftp command. | trace |
| type | Displays the file transfer type. | type |
| user | Specifies a user to the remote computer. | user user-name [password] [account] |
| verbose | Toggles verbose mode. If on, all ftp responses are displayed. When a file transfer completes, statistics regarding the efficiency of the transfer are also displayed. By default, verbose is on. | verbose |