lftp is an excellent file client that supports many file transfer protocols, including FTP, SFTP, HTTP, and FTPS.

Syntax:

lftp (option)
option
-f: specify a script file of lftp commands to run
-c: run the given command and exit
—help: show help
—version: show the version number
site:
site: the IP address or domain name of the site to access

Examples:

Log in to UPYUN
lftp ftp://v0.ftp.upyun.com:21
login operator/bucket
Password: the operator's password
After logging in, ls lists the bucket's directory

Download:

get filename
mget -c *.pdf # download all pdf files with resume support
mirror -R aaa/ # download the whole aaa directory recursively, including subdirectories
pget -c -n 10 file.dat # download file.dat with up to 10 threads and resume support; you can set pget:default-n to use a default value.

Upload:

put or mput files
mirror -R local_dir # upload the whole directory to the ftp site

Bookmarks:

Bookmark the current site:
Inside lftp:
bookmark add upyunfile
The ftp site you're browsing is now saved under the upyunfile bookmark. Later, in a shell, just run lftp upyunfile to log in automatically