Scripting and shell commands are described in the table below. Abbreviations for commands are noted in the command description.
Where the command has optional arguments, they are shown in square brackets, e.g. open [host[:port]] means that for the open command, the host and port are optional parameters (but if the port is supplied, the host must be supplied).
Command | Description | ||||||||||||
help [command] |
Prints out help for a specific command, or if no command is specified, a list of supported commands is provided. |
||||||||||||
version |
Prints out version details. Can use ver as an abbreviation. |
||||||||||||
debug |
Switches debug on or off. If debug is already on, it is switched off (and vice versa). When debug is enabled, more information is displayed when commands are executed. |
||||||||||||
set |
Sets various parameters used during the session, many of which are optional. Syntax is set name=value Note that 'set' can be omitted, and thus protocol=ftp is a valid command. Variables can be created this way. If an unknown variable is set using the 'set' command, then a variable of that name and value is created, e.g. myprotocol=ftp creates a variable called 'myprotocol' set to the string value 'ftp'. The value of variables can be printed out using echo. The value of all set variables can be printed out using set without any arguments. The set command also supports a feature originally found on Unix systems called backquoting. This is where a variable is assigned the value of the output of a command, which must be surrounded by back quotes (the '`' symbol). For example, to set the variable 'currendir' to the value of the current remote working directory, use set currentdir=`pwd` . |
||||||||||||
set connectmode |
Sets the connection mode for data transfers and listings. Not applicable for SFTP protocol. Possible values are active or passive., e.g. set connectmode=active . |
||||||||||||
set connectmode |
Sets the connection mode for data transfers and listings. Not applicable for SFTP protocol. Possible values are active or passive., e.g. set connectmode=active . |
||||||||||||
set protocol |
Set the protocol to be used. Note that the protocol cannot be changed while connected. Supported protocols are shown below:
Note that server validation is switched off by default. |
||||||||||||
set connectmode |
Sets the connection mode for data transfers and listings. Not applicable for SFTP protocol. Possible values are active or passive., e.g. set connectmode=active . |
||||||||||||
set remotehost |
Sets the remote host to be connected to, e.g. set remotehost=ftp.gnu.org |
||||||||||||
set user |
Sets the username, e.g. set user=javaftp . This username is used for all supported protocols. |
||||||||||||
set password |
Sets the user's password, e.g. set password=javaftp. This password is used for all supported protocols. |
||||||||||||
set localdir |
Sets the local working directory. All uploads and
downloads
that do not specify a full path will use this directory. e.g.
set
localdir=D:\work\tmp
|
||||||||||||
set servervalidation |
Enables or disables server validation (disabled by default). Possible values are true or false. |
||||||||||||
set clientcert |
Sets the path of the client certificate to use for client validation for FTPS. Currently supports PEM, CER and PFX file formats for certificates. Note that the password must also be set via certpassword. Once set, client validation is automatically switched on. |
||||||||||||
set certpassword |
Sets the password (or passphrase) of the client certificate used for client validation (FTPS). |
||||||||||||
set serverpublickey |
Sets the path of the server's public key to use for server validation for SFTP. Supports OpenSSH and SECSH file formats. More typically set knownhosts is used. Can also use serverkey. Server validation must also be switched on via set servervalidation=true |
||||||||||||
set knownhosts |
Sets the path of the known_hosts file to use for server validation for SFTP. Server validation must also be switched on via set servervalidation=true |
||||||||||||
set clientprivatekey |
Sets the path of the client private key file to be used for public key authentication in SFTP. Supports PuTTY, OpenSSH and SSH.com private key formats. Note that the clientprivatekeypass must also be set. Can also use clientkey. |
||||||||||||
set clientprivatekeypass |
Sets the passphrase of the client private key file to be used for public key authentication in SFTP. Can also use clientkeypass. |
||||||||||||
set timeout |
Optional. Sets the timeout in seconds for read or write operations. The default is 0 (which is an infinite timeout). e.g. set timeout=10 |
||||||||||||
set port |
Optional. Defaults are determined by the protocol. Sets the port number to connect to, e.g. set port=21 |
||||||||||||
set dataports |
Optional. Only applicable for active mode. Sets the data port range that the client will listen on for listings and transfers. The low port number must be listed first, e.g. set dataports=10100-10140 |
||||||||||||
set loglevel |
Optional. Sets the logging level. 0 means no logging, while 5 is the maximum log level (the default). e.g. set loglevel=4 |
||||||||||||
set logfile |
Sets the name or full path of the logfile to direct logging to, e.g. set logfile=C:\temp\ftp.log |
||||||||||||
echo |
Echos the value of a variable to standard output, whether user-defined or a system variable such as 'protocol'. The variable must be preceded by a '$' to identify it as a variable, e.g. echo $protocol. A synonym for echo is print. |
||||||||||||
open [host[:port]] |
Opens the connection to the remote server. The user and password must already be set via the set command. If the remote host is not already set, it must be supplied here (and will override any previous setting for this connection attempt). The port number can also be optionally supplied (but the host must be provided). e.g. open edtmobile:21 Can also use connect. |
||||||||||||
binary |
Change the current transfer mode to binary mode. Binary is the default. Can use bin as an abbreviation. |
||||||||||||
ascii |
Change the current transfer mode to ASCII mode. Binary is the default. Can use asc as an abbreviation. |
||||||||||||
pwd |
Print the current remote working directory. |
||||||||||||
dir [remotedir] |
Perform a detailed listing of the current directory if no directory is supplied as an argument, or of the supplied remote directory. See ls for a similar command. A synomyn of dir is ls -l. |
||||||||||||
ls [remotedir] |
Perform a simple listing (just filenames) of the current directory if no directory is supplied as an argument, or of the supplied remote directory. If ls -l is used, a detailed listing is supplied. See dir for a similar command. A synomyn of ls -l is dir. |
||||||||||||
cd remotedir |
Change the current remote working directory to remotedir. |
||||||||||||
cdup |
Change the current remote working directory to its parent directory. |
||||||||||||
mkdir remotedir |
Create the remotedir directory. |
||||||||||||
rmdir remotedir |
Delete the remotedir directory. It must be empty. |
||||||||||||
get remotefile [localfile] |
Download a remotefile to the local host. The localfile parameter can be a filename or the full path of a local file. If it is a filename, the current local working directory is prepended. Note that the localfile parameter is optional - if not supplied, the downloaded file is saved in the current local working directory with the name of remotefile. The remotefile parameter can be a filename or a path. Not all servers support the use of a path - in this case navigate to the correct remote directory using cd. |
||||||||||||
put localfile [remotefile] |
Upload a local file to the remote host. The localfile parameter can be a filename or the full path of a local file. If it is a filename, the current local working directory is prepended. The remotefile parameter should be a filename or a path. Not all servers support the use of a path - in this case navigate to the correct remote directory using cd. If the remotefile parameter is not supplied, the local file name will be used. |
||||||||||||
append localfile [remotefile] |
Append the contents of a local file to a remote file (if it exists) on the remote host. The localfile parameter can be a filename or the full path of a local file. If it is a filename, the current local working directory is prepended. The remotefile parameter should be a filename or a path. Not all servers support the use of a path - in this case navigate to the correct remote directory using cd. If the remotefile parameter is not supplied, the local file name will be used. |
||||||||||||
rename remotefile1 remotefile2 |
Rename a remote file from remotefile1 to remotefile2. Note that both parameters should be filenames, not full paths. Can use ren as an abbreviation. |
||||||||||||
lrename localfile1 localfile2 |
Rename a local file from localfile1 to localfile2. Note that paths can be used as well as filenames. Can use lren as an abbreviation. |
||||||||||||
delete remotefile |
Delete a remote file in the current remote working
directory.
Can use del as an abbreviation. |
||||||||||||
ldelete localfile |
Delete a local file in the current local working
directory, or specify a path for the file to be deleted.
Can use ldel as an abbreviation. |
||||||||||||
mdelete wildcard |
Delete multiple remote files that match the wildcard in the current remote working directory. Wildcards supported are '?' for a single matching character, and '*' for multiple matching characters. e.g. to delete all text files in the current remote directory, use mdel *.txt Can use mdel as an abbreviation. |
||||||||||||
mput wildcard |
Upload multiple local files that match the wildcard in the current local working directory to the current remote working directory. Wildcards supported are '?' for a single matching character, and '*' for multiple matching characters. e.g. to upload all text files from the current local working directory, use mput *.txt |
||||||||||||
mget wildcard |
Download multiple local files that match the wildcard in the current remote working directory to the current local working directory. Wildcards supported are '?' for a single matching character, and '*' for multiple matching characters. e.g. to download all text files from the current remote working directory use mget *.txt |
||||||||||||
close |
Closes the connection to the remote server. Can also use bye, quit, exit or disconnect. |
||||||||||||
quote command |
Sends the quoted command to the server and displays the response. |
||||||||||||
site parameters |
Sends a SITE command to the FTP server with the supplied parameters. These parameters can vary widely between FTP servers. This command is not applicable to SFTP servers. For example site CHMOD 0600 /home/user/privatefile might be used to change the permissions of a file on an FTP server that supports this feature. |
||||||||||||
auth |
Change from unencrypted 'plain' FTP into secure FTP. |
||||||||||||
protect clear or protect private |
Change the protection level of the data channel in FTPS. Supported options are clear (or c) to set data channels to unencrypted, and private (or p) to set data channels to encrypted. e.g. protect clear Alternatively private has the same effect as protect private, and clear has the same effect as protect clear. An abbreviation for protect is prot, which combined with the argument abbreviations means that to set the data channels to unencrypted could be done with prot c, and to set to encrypted could be done with prot p. |
||||||||||||
clear |
In FTPS, change the protection level of the data channel to private. Identical to protect private. |
||||||||||||
private |
In FTPS, change the protection level of the data channel to private. Identical to protect private. |
||||||||||||
ccc |
In FTPS, clears the control channel, setting it back to plain unencrypted text. This can be useful when using firewalls, which need to be able to inspect the control channel to open data channel ports. Once ccc has been called, no more protect commands can be used. This is a security measure inherent in the protocol. |
||||||||||||
record recordfile |
Record subsequent commands to the supplied filename. Most useful from within the shell to record a session. |
||||||||||||
stop |
Stop recording commands to file. |
||||||||||||
license [owner key] |
Prints out the license details. If owner and key are supplied, uses these values for the license. |