lftp is a command-line file transfer program which besides FTP, also supports FTPS, HTTP, HTTPS, HFTP, FISH, and SFTP. A BitTorrent client is also built-in as torrent command.
In addition to features common in advanced FTP clients, such as recursively mirroring entire directory trees, location bookmarks and resuming downloads, lftp also supports more advanced functionality. Transfers can be scheduled for execution at a later time, bandwidth can be throttled, transfer queues can be set up, and Unix shell-like job control is supported. The client can be fully scripted, instead of being used interactively.