Introduction
The following information is provided as a reference for the File Transfer Protocol (FTP) commands. This document describes a typical process for an interactive and automated, batch FTP session running on a PC with Windows/XP and connecting to a UNIX system. This process may vary slightly depending on the hardware and software configurations of the local and remote systems.
We have made a significant effort to ensure the documents and software technologies are correct and accurate. We reserve the right to make changes without notice at any time. The function delivered in this version is based upon the enhancement requests from a specific group of users. The intent is to provide changes as the need arises and in a timeframe that is dependent upon the availability of resources.
An Interactive FTP Session
To start an FTP interactive session type "ftp" from a DOS Command window.
C:\> ftp
The DOS prompt should be replaced with the FTP prompt. The FTP program is now running on the local system. A connection (or session) to a remote system has not been established.
The help command or ? (question mark) may be executed without being attached to a remote system and will do a print (usually to the screen) of the FTP commands. The following is an example of an FTP Command to display the FTP Help information.
ftp help
The following is a typical result of the help command running on a PC with Windows.
Commands may be abbreviated. Commands are:
! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
ftp
The following FTP Command will perform the FTP OPEN (make the connection) and display the following messages.
ftp open domain.name
Connected to domain.name
220 antigonous FTP server ready.
User (domain.name:(none)): User-Name
331 Password required for user-name
Password: password
230 User user-name logged in.
ftp
The following FTP Command will change the directory on the remote system and display the following message.
ftp> cd /web
250 CWD command successful.
ftp
The following FTP Command will find out the pathname of the current directory on the remote system and display the information.
ftp> pwd
257 "/web" is the current directory.
ftp
The following FTP Command will set the file transfer mode to ASCII (this is the default for most FTP programs) and display the information.
ftp> ascii
200 Type set to A.
ftp
The following FTP Command will copy a file(using ASCII mode) from the local system to the remote system and display the information.
ftp> put d:\simoweb1\filename.txt
200 PORT command successful.
Opening ASCII mode data connection for filename.txt
226 Transfer complete
ftp
The following FTP Command will set the file transfer mode to BINARY (the binary mode transfers all eight bits per byte and must be used to transfer non-ASCII files). ) and display the information.
ftp> binary
200 Type set to I.
ftp
The following FTP Command will copy a file (using BINARY mode) from the local system to the remote system and display the information.
ftp> put d:\simoweb1\filename.zip
200 PORT command successful.
Opening BINARY mode data connection for filename.zip
226 Transfer complete
ftp
The following FTP Command will exit the FTP environment (same as "bye") and display the information.
ftp> quit
221 Goodbye.
When the preceding FTP Command is finished the DOS prompt will be displayed.
C:\>
The preceding is a typical process for an interactive FTP session running on a PC with Windows/XP or Windows/7 and connecting to a UNIX system. This process may vary slightly depending on the hardware and software configurations of the local and remote systems.
An Automated, Batch FTP Session
The following batch file (UPWIP001.BAT) will start an FTP session and pass the name of a text file (UPWIP001.TXT) to the FTP program. This text file will be processed by the FTP program and each of the statements in the text file will be processed in the sequence they appear.
@echo OFF
rem * *******************************************************************
rem * FTPSAME1.CMD - a Windows Command File *
rem * This program is provided by SimoTime Enterprises *
rem * (C) Copyright 1987-2013 All Rights Reserved *
rem * Web Site URL: http://www.simotime.com *
rem * e-mail: helpdesk@simotime.com *
rem * *******************************************************************
echo *
echo * This batch and text file illustrate the use of FTP to upload an
echo * ASCII file and an EBCDIC or Binary file. The UPWIP001.BAT file
echo * references UPWIP001.TXT that contains...
echo *
echo * user
echo * password
echo * cd /web
echo * pwd
echo * ascii
echo * put d:\simoweb1\cbltxn01.htm
echo * binary
echo * put d:\simoweb1\cbltxn01.zip
echo * quit
echo *
ftp -s:upwip001.txt www.simotime.com
The following is a listing of the contents of the text file (UPWIP001.TXT).
user
password
cd /web
pwd
ascii
put d:\simoweb1\cbltxn01.htm
binary
put d:\simoweb1\cbltxn01.zip
quit
An FTP Command List
The following is a summary of the commonly used FTP Commands.
Command | Description |
! | Preceding a command with the exclamation point will cause the command to execute on the local system instead of the remote system. |
? | Request assistance or information about the FTP commands. This command does not require a connection to a remote system. |
ascii | Set the file transfer mode to ASCII (Note: this is the default mode for most FTP programs). |
bell | Turns bell mode on / off. This command does not require a connection to a remote system. |
binary | Set the file transfer mode to binary (Note: the binary mode transfers all eight bits per byte and must be used to transfer non-ASCII files). |
bye | Exit the FTP environment (same as quit). This command does not require a connection to a remote system. |
cd | Change directory on the remote system. |
close | Terminate a session with another system. |
debug | Sets debugging on/off. This command does not require a connection to a remote system. |
delete | Delete (remove) a file in the current remote directory (same as rm in UNIX). |
dir | Lists the contents of the remote directory.The asterisk (*) and the question mark (?) may be used as wild cards. |
get | RemoteName LocalName |
help | Request a list of all available FTP commands. This command does not require a connection to a remote system. |
lcd | Change directory on your local system (same as CD in UNIX). |
ls | List the names of the files in the current remote directory. |
mget | Copy multiple files from the remote system to the local system. Note: You will be prompted for a "y/n" response before copying each file. |
mkdir | Make a new directory within the current remote directory. |
mput | Copy multiple files from the local system to the remote system. (Note: You will be prompted for a "y/n" response before copying each file). |
open | Open a connection with another system. |
put | Copy a file from the local system to the remote system. |
pwd | Find out the pathname of the current directory on the remote system. |
quit | Exit the FTP environment (same as "bye"). This command does not require a connection to a remote system. |
rmdir | Remove (delete) a directory in the current remote directory. |
trace | Toggles packet tracing. This command does not require a connection to a remote system. |
|
A List of FTP Commands |
FTP Command, DIR
The DIR command will list the contents of the remote directory.The asterisk (*) and the question mark (?) may be used as wild cards.
Parameters | Description |
b* | This will display all entries that start with the letter "b". For example, the following will be displayed. bet, ben, bingo, born, boon, bipartisan, bandit, boy |
b*n* | This will display all entries that start with the letter "b" and have the letter "n" somewhere after the letter "b". For example, the following will be displayed. ben, bingo, born, boon, bipartisan, bandit The following will not be displayed. bet, boy |
b?n | This will display all entries that start with the letter "b", have the letter "n" in the 3rd position and have a three character name. For example, the following will be displayed. ben The following will not be displayed. bet, bingo, born, boon, bipartisan, bandit, boy |
b?n* | This will display all entries that start with the letter "b" and have the letter "n" in the 3rd position. For example, the following will be displayed. ben, bingo, bandit The following will not be displayed. bet, born, boon, bipartisan, boy |
|
A List of Parameters for the DIR FTP Command |
An FTP Extended Command List
The following are additional commands that are used when tranferring files between an IBM Mainframe and a Windows or UNIX client system. Also, the following includes commands required when working with files containing variable length records.
Command | Description |
literal | Will send an argument to the remote FTP Server. This statement is similar in purpose as the "QUOTE" statement. |
locsite | LOCSITE This statement may be used at the mainframe for commands specific to the mainframe |
quote | Will send an argument to the remote FTP Server. This statement is similar in purpose as the "LITERAL" statement. |
site | This parameter is used at the client system to transfer a function (via the LITERAL or QUOTE statement) to the host site. The following is a summary of the commonly used SITE/LOCSITE Commands. |
|
A List of Extended FTP Commands |
LOCSITE, LITERAL and SITE
This SITE (via the literal or quote command) statement is used at the client system and the LOCSITE command is used at the host system. Both statements are used to transfer a function to the host site. The following is a summary of the commonly used SITE/LOCSITE Commands.
Command | Description |
BLKSIZE | BLocKSIZE=nnnn where nnnn is the block size (BLKSIZE) |
CYLINDERS | CYlinders To indicate that space should be allocated in cylinders |
DIRECTORY | DIrectory=nnn where 'nnn' indicates the number of directory blocks to be allocated for the directory of a PDS |
LRECL | LRecl=nnn where nnn is the logical record length (LRECL) |
PRIMARY | PRImary=nnn where nnn indicates the number of primary space units (tracks or cylinders) |
RDW | RDW will cause each record of a variable length record to be preceded with a four byte Record Descriptor Word (RDW) and possible four byte Block Descriptor Word (BDW). |
RECFM | RECfm=format where format is: F, FA, FB, FBA, FBM, FM, U, V, VA, VB, VBA, VBM, or VBS |
SECONDARY | SECondary=nnn where nnn indicates the number of secondary space units (tracks or cylinders) |
TRACKS | TRacks To indicate that space should be allocated in tracks. |
|
Parameters used with the LOCSITE Extended FTP Commands |
The following is an example of the LITERAL command and a GET command. The commands are executed at the client and will cause the RDW (Record Descriptor Word) to be included at the beginning of each record of a file with variable length records.
LITERAL SITE RDW
GET host-file-name client-file-name
The following is an example of the LOCSITE command and a PUT command. The commands are executed at the host and will cause the RDW (Record Descriptor Word) to be included at the beginning of each record of a file with variable length records.
LOCSITE RDW
PUT host-file-name client-file-name
The following is an example of the LOCSITE command for accessing tape files with variable length recoerds. The command is executed at the host and will cause the RDW (Record Descriptor Word)to be included at the beginning of each record of a file with variable length records.
LOCSITE RDW READTAPEFORMAT=V
PUT host-file-name client-file-name