What is Axel?
When you want to download something from the command line you normally use the commands wget or curl.
What if you want to accelerate these downloads? I recently found this command: Axel, works the same way but allows you to use multiple connections for one file.
As a comparison, the mozilla extension DownThemAll does the same thing in a graphical environment. Axel can also use mutliple mirrors for a download and according to tests done by the Github author this can speed up downloads up to 60%!.
Axel has no dependencies, is lightweight, supports HTTP, HTTPS, FTP and FTPS protocols and unlike other similar programs, it downloads all the data directly to the destination file using a single thread., saving time at the end because the program does not ave to concatenate the downloaded parts. It is also available in the Debian repo
If you take a look at the options available, you see that you use it the same way as you would use wget.
Usage: axel [options] url1 [url2] [url...]
--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
--header=x -H x Add header string
--user-agent=x -U x Set user agent
--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
--help -h This information
--version -V Version information
Axel in its simplest use:
Common options include
to prevent the app chewing up all your bandwidth and
to specify a number of connections (the recommended default of 4 is fine for most downloads).
Passing in multiple URLs allows downloading of the same file from multiple locations.
Axel is great command line tool, but what if you want a GUI download manager with similar features? Check out uGet, which also includes accelerated downloads, clipboard monitoring, browser integration queuing support and many more features!