FTP
The File Transfer Protocol (FTP) is the standard network protocol used for the transfer of computer files between a client and server on a computer network.
Syntax
FTP [-options] [-s:filename] [-w:buffer] [host]
Key
| switch | description |
|---|---|
| -s:filename | Run a text file containing FTP commands. |
| host | Host name or IP address of the remote host. |
| -g | Disable filename wildcards. |
| -n | No auto-login. |
| -i | No interactive prompts during ftp. |
| -v | Hide remote server responses. |
| -w:buffer | Set buffer size to buffer (default=4096) |
| -d | Debug |
| -a | Use any local interface when binding data connection. |
FTP Commands
These are commands that can be run while in an FTP session.
| command | description |
|---|---|
| append local-file [remote-file] | Append a local file to a file on the remote computer. |
| ascii | Set the file transfer type to ASCII, the default. In ASCII text mode, character-set and end-of-line characters are converted as necessary. |
| bell | Toggle a bell to ring after each command. By default, the bell is off. |
| binary | Set the file transfer type to binary. Use "Binary" for transferring executable program files or binary data files e.g. Oracle |
| bye | End the FTP session and exit ftp |
| cd | Change the working directory on the remote host. |
| close | End the FTP session and return to the cmd prompt. |
| debug | Toggle debugging. When debug is on, FTP will display every command. |
| delete remote-file | Delete file on remote host. |
| dir [remote-directory] [local-file] | List a remote directory's files and subdirectories. (or save the listing to local-file) |
| disconnect | Disconnect from the remote host, retaining the ftp prompt. |
| get remote-file [local-file] | Copy a remote file to the local PC. |
| glob | Toggle the use of wildcard characters in local pathnames. By default, globbing is on. |
| hash | Toggle printing a hash (#) for each 2K data block transferred. By default, hash mark printing is off. |
| help [command] | Display help for ftp command. |
| lcd [directory] | Change the working directory on the local PC. By default, the working directory is the directory in which ftp was started. |
| literal argument [ ...] | Send arguments, as-is, to the remote FTP host. |
| ls [remote-directory] [local-file] | List a remote directory's files and folders. (short format) |
| mdelete remote-files [ ...] | Delete files on remote host. |
| mdir remote-files [ ...] local-file | Display a list of a remote directory's files and subdirectories. (or save the listing to local-file) Mdir allows you to specify multiple files. |
| mget remote-files [ ...] | Copy multiple remote files to the local PC. |
| mkdir directory | Create a directory on the remote host. |
| mls remote-files [ ...] local-file | List a remote directory's files and folders. (short format) |
| mput local-files [ ...] | Copy multiple local files to the remote host. |
| open computer [port] | Connects to the specified FTP server. |
| prompt | Toggle prompting. Ftp prompts during multiple file transfers to allow you to selectively retrieve or store files; mget and mput transfer all files if prompting is turned off. By default, prompting is on. |
| put local-file [remote-file] | Copy a local file to the remote host. |
| pwd | Print Working Directory (current directory on the remote host) |
| quit | End the FTP session with the remote host and exit ftp. |
| quote argument [ ...] | Send arguments, as-is, to the remote FTP host. |
| recv remote-file [local-file] | Copy a remote file to the local PC. |
| remotehelp [command] | Display help for remote commands. |
| rename filename newfilename | Rename remote files. |
| rmdir directory | Delete a remote directory. |
| send local-file [remote-file] | Copy a local file to the remote host. |
| status | Display the current status of FTP connections and toggles. |
| trace | Toggles packet tracing; trace displays the route of each packet |
| type [type-name] | Set or display the file transfer type "binary" or "ASCII" (the default). If type-name is not specified, the current type is displayed. ASCII should be used when transferring text files. In ASCII text mode, character-set and end-of-line characters are converted as necessary. Use "Binary" for transferring executable files. |
| user user-name [password] [account] | Specifes a user to the remote host. |
| verbose | Toggle verbose mode. By default, verbose is on. |
| ! command | Run command on the local PC. |
| ? [command] | Display help for ftp command.An example FTP Script to retrieve files in binary and ascii mode |
Scripting FTP
It is easily possible to automate an FTP session. However, be warned that credentials are stored in plain text, so it inherently insecure. Here is a sample script:
::GetFiles.ftp
[User_id]
[ftp_password] binary
get /usr/file1.exe
get file2.html
mget *.jpeg ascii
mget *.txt quit
To run the above script:
FTP -s:GetFiles.ftp [hostname]
This will connect as the user:User_id with password:ftp_password
An FTP Script to publish files in binary mode:
::PutFiles.ftp
[User_id]
[ftp_password] binary
mput *.html
cd images
mput *.gif quit
To run the above script:
FTP -s:PutFiles.ftp [hostname]
This will connect as the user:User_id with password:ftp_password
This can be further automated by constructing the FTP file using a series of ECHO commands. Also you may want to put the main FTP command inside a batch script, which also CD's to the correct local folder before transferring any files.
If you do use this automation method, don't forget to delete/protect the script file if it contains a valid password.
Loading Comments ...
Comments
No comments have been added for this post.
You must be logged in to make a comment.