quftp - command line FTP client
quftp [-vhi] [-r filename] [-s
filename] [-d[n]]
[URL]
Command line FTP client, with support for queueing and transferring
server-to-server
- -v
- Display version number, then exit
- -h
- Display usage help, then exit
- -i
- Ignore any errors that may occur processing a script
- -r
- Use filename as the configuration instead of the default
- -s
- Read in script commands from filename. If an error occurs during
script execution, quftp will exit unless -i is specified. After the
script is finished executing, quftp will drop into interactive mode.
- URL
- Specify a valid ftp:// URL to connect to. Any valid URL should be
acceptable.
ftp://username:password@hostname:port/directory/
Normally, quftp runs in interactive mode, where commands are entered at the
command line. Any of these commands can be put into a script file, which is
executed with the -s command line option.
Variables can be inserted into the command line using
$variable, where variable has already been defined
using the set command.
To execute a shell command, enter !command at the
prompt.
Basic help for each command can be obtained from within quftp by
the help commad.
- quit
- Exit the program
- exit
- Exit the program
- ls [filespec]
- List current directory. If filespec is given, it is passed directly to the
FTP server.
- lls
- List the local directory
- cd [dirname]
- Change the current directory to dirname if dirname is not
given, display the current directory.
- lcd dirname
- Change the current local directory to dirname if dirname is
not given, display the current directory.
- pwd
- Show current working directory
- get filename...
- Queue a file or files for download.
- put filename...
- Queue a file or files for upload
- mkdir
- Create a new directory dirname
- rmdir
- Remove a directory dirname
- fxp filename...
- Queue a file or files to be transferred between the current connection and
the last connection ($LAST_CONNECTION). Use switch to change
the connection.
- go
- Start transferring the queue
- clear
- Delete all items from the queue
- queue
- List all items on the queue
- close
- Disconnect from the server
- open URL
- Connect to a server specified by URL.
- status
- Show the current status of all available connections.
- stat [filename]
- Display statistics for filename.
- nlst
- List just the filenames in the current directory.
- switch [connection]
- Switch to another connection. If connection is not given, switch to
the lat used connection ($LAST_CONNECTION).
- debug [debuglevel]
- Set debugging level. If debuglevel is not given, increase the
debugging level by 1. Debugging levels are:
1 No information - fairly quiet
2 Normal
3 More information
4 Internal function calls
5 Control connection data
- user username [password]
- Enter username and password for the server. If password is not
given, prompt the user for the password. This forces a re-connect if a
connection is already established.
- cat [filename]
- Output filename to stdout
- more [filename]
- Page filename using the command given in $pager.
- set variable value
- Set variable to equal value. This is most commonly used in
the configuration file.
- unset variable
- Remove variable.
- rm filename...
- Delete a remote file or files.
- run filename
- Run a script file. After the script has finished, control is returned to
the user.
- alias alias command
- Define alias to execute command. If neither alias or
command is specified, list all the aliases that have been
defined.
- getlist filename
- Read in filename and retrieve all the files listed.
- assert
- Be sure the last command was successful. If it was not, exit the program.
This is normally only used in scripts, to stop execution if a command does
not work.
- quote command
- Send command verbatim to the server, and display the result.
Configuration is read at startup from ~/.quftprc, although this can be
specified as a different file using the -c command line option. This
file must contain valid quftp commands, one per line. These commands are
generally ste commands that configure the quftp environment.
This section provides a brief overview of the configuration
variables and their possible values.
- motd (true/false)
- Display the server's Message Of The Day when establishing a
connection
- passive (true/false)
- Use passive mode when transferring files. Read RFC 959 for a
description of passive mode.
- pager (any valid program)
- The name of the program to use as the pager when using the more
command. This should be specified with the full path.
- email (any valid e-mail address)
- This is uesd as the password when connecting to a server anonymously.
- progress_update (number)
- How often should the progress bar be updated during a file transfer (in
seconds). If this is 0 then the progress bar will not be
displayed.
- queuefiles (true/false)
- Use the queue when transferring files. If false, then files will be
transferred immediately after entering the get, put or
fxp command.
quftp by default supports only UNIX-style listings from servers.
If you have a need to access another server type, run a ls command
with the debug level set to 5 (debug 5), and E-mail me with the the
output from the LIST command. Alternatively, you can try adding your
own list description in ftp.c (around line 35). This is unsupported,
so please e-mail me with any changes you make.
State information internal to quftp is accessable read-only using the normal
variable commands, including set and normal variable expansion
($ variable).
- PROGRAM_NAME
- Always contains "quftp"
- VERSION
- The version number of quftp being used. This is also the version that is
reported by the -v command line option.
- CURRENT_CONNECTION
- The number of the connection currently being actioned. Use the
switch command to use a different connection.
- LAST_CONNECTION
- The number of the last connection used. This is also the connection that
any files transferred with the fxp command will go to.
- HOSTNAME
- The name of the host the current connection applies to.
- USERNAME
- The username currently being used on the current connection.
Report bugs to <david@dparrish.com>.