From the man page, axel is a program that downloads a file from a FTP or HTTP server through multiple connection, each connection downloads its own part of the file.

Unlike most other programs, Axel downloads all the data directly to the destination file, using one single thread. It just saves some time at the end because the program doesn’t have to concatenate all the downloaded parts.

The following is an example of using axel to download a Linux kernel;

$ axel http://www.kernel.org/pub/linux/kernel/v2.2/linux-2.2.26.tar.bz2
Initializing download: http://www.kernel.org/pub/linux/kernel/v2.2/linux-2.2.26.tar.bz2
File size: 15754692 bytes
Opening output file linux-2.2.26.tar.bz2
State file found: 140628 bytes downloaded, 15614064 to go.
Starting download

[  1%] [0            1           2            3           ] [  17.3KB/s] [14:38]

It accept the following options;

--max-speed=x           -s x    Specify maximum speed (bytes per second)
--num-connections=x     -n x    Specify maximum number of connections
--output=f              -o f    Specify local output file
--search[=x]            -S [x]  Search for mirrors and download from x servers
--no-proxy              -N      Just don't use any proxy server
--quiet                 -q      Leave stdout alone
--verbose               -v      More status information
--alternate             -a      Alternate progress indicator