Best of Linux

Best Download Managers for Linux

Download managers provide a convenient way to download files without relying on web browsers’ built-in download mechanisms. Usually people look for batch download support, pausing and resuming ability and multi-connection download support while choosing a download manager. Multiple connections to the same file can speed up downloads specially when a file server throttles downloads. Do note that some file servers block pause and resume functionality and have mechanisms to prevent multi-connection downloads. This article will cover command line and graphical download manager apps for Linux.

Wget and Curl

Wget and Curl are simple command line tools that can be used to download files by using their direct links. While they do support pausing and resuming downloads, currently no functionality is available for multi-threaded downloads. Both wget and curl come pre-installed on most Linux distributions.

To download a file using wget and curl, run one of the following commands (replace URL):

$ wget “https://www.example.com/example.tar.gz”
$ curl “https://www.example.com/example.tar.gz”

To pause a file being downloaded using wget and curl, press <CTRL+C> key. To resume download, run one of the following commands:

$ wget -c “https://www.example.com/example.tar.gz”
$ curl -c “https://www.example.com/example.tar.gz”

Assuming that download links are stored in “links.txt” file, you can use one of the following commands to initiate batch downloads:

$ wget -i links.txt
$ xargs -n 1 curl -O &lt; links.txt

Wget and curl don’t support multiple connections to the same file. To see all available options for wget and curl, run one of the following commands:

$ wget --help
$ curl --help

Axel

Axel is a command line download manager for Linux. Unlike wget and curl, it supports multi-connection downloads with ability to pause and resume them.

To install axel in Ubuntu, run the command below:

$ sudo apt install axel

To download a file using axel, run the following command (replace URL):

$ axel “https://www.example.com/example.tar.gz”

Axel automatically creates a “.st” file when it initiates a download. You can pause an ongoing download by pressing <CTRL+C>. If both partially downloaded file and “.st” file exists in a folder, axel will automatically resume the previously interrupted download.

To create multiple connections when downloading a file, run a command in the following format (replace “4” with your own choice):

$ axel -n 4 “https://www.example.com/example.tar.gz”

Axel does not support batch downloads. However, you can just loop through a links file using bash to download files one by one. Below is a small example:

$ while read link; do axel -n 4 $link; done < links.txt

To know more about all axel options, run the following command:

$ axel --help

Aria2

Aria2 is one of the best and full featured command line download managers available for Linux today. It supports multi-threaded downloads, batch downloads, pausing and resuming of downloads, and it can even download torrent files.

To install aria2 in Ubuntu, run the following command:

$ sudo apt install aria2

To download a file using aria2, run the following command:

$ aria2c “https://www.example.com/example.tar.gz”

To create multiple connections when downloading a file, run a command in following format (replace “4” with your own choice):

$ aria2c -x 4 “https://www.example.com/example.tar.gz”

Assuming that download links are stored in “links.txt” file, you can use the following command to initiate batch downloads:

$ aria2c -i links.txt

To know more about all aria2 options, run the command below:

$ aria2c --help

Uget

Uget is a free, open source and cross-platform graphical download manager. Apart from multi-threaded and batch downloads, it also supports automatic clipboard monitoring, pausing and resuming of downloads, browser extensions, youtube video downloads, torrent files, scheduled downloads and so on.

To install uget in Ubuntu, run the command below:

$ sudo apt install uget

You can now start using uget by launching the app from application launcher.

Xtreme Download Manager

Xtreme Download Manager is a full featured graphical download manager. Some of its features include ability to process batch downloads, multi-connection downloads, pausing and resuming of downloads, browser extensions, video streaming site downloads, scheduled downloads and so on.

You can download the xtreme download manager “.jar” file from here. Run the following command to launch it:

$ java -jar xdman.jar

Persepolis Download Manager

Persepolis Download Manager is a GUI frontend for command line download manager aria2 (mentioned above). It is on feature parity with aria2 with some additional features such as scheduled downloads and built-in support for video downloads from streaming sites.

You can download persepolis download manager from here.

Conclusion

These are some of the download managers available for Linux that you can use to process downloads. Browser integration extensions for download managers are not as robust as they used to be, mainly because of stringent requirements by browsers and security concerns. To get a direct download link of a file, you can initiate a download in a browser and then immediately cancel it. Right clicking on a cancelled download will get you a direct download link.

About the author

Nitesh Kumar

I am a freelancer software developer and content writer who loves Linux, open source software and the free software community.