QUFTP(1)

NAME
quftp - command line FTP client

SYNOPSIS
quftp [-vhi] [-r filename] [-s filename] [-d[n]] [URL]

DESCRIPTION

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/

USAGE

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

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.

INTERNAL VARIABLES

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.

BUGS
Report bugs to <david@dparrish.com>.