Wednesday, October 7, 2009

FTP

File Transfer Protocol

Syntax
FTP [-options] [-s:filename] [-w:buffer] [host]
key
-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.
Commands to run at the FTP: prompt
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.

Examplesan example FTP Script to retrieve files in binary and then ascii mode:

To run the above script:
FTP -s:PutFiles.ftp [hostname]
This will connect as the user:User_id with password:ftp_password

Using the Windows GUI for FTP
Windows Explorer (not Internet Explorer) also has a built in FTP client.
Type in the address bar:

ftp://username@ftpserver.address.com

you will be prompted for the password.
You can also use

ftp://username:password@ftpserver.address.com

This is not recommended as anyone can read the password.

Secure FTP
Standard FTP does not encrypt passwords - they are sent across the network in plain text. A more secure method is to use SecureFTP (SFTP) or SecureCopy (SCP) Freeware clients are available such as WinSCP.