We are going to start with one of the most popular tools called wget. It’s a network utility that can be used to download content over HTTP, HTTPS and FTP. Wget can be used in both background and foreground, which makes it useful if you need to leave a download running, even when you are logged off.


This tool comes with plenty of options, that allow you to do an authenticated downloads, recursive downloads with level limits, accepts regular expressions for URLs, allows excludes, accepts URL inputs from a file and many others. The options for wget are really a lot and it is highly recommended to review the tool’s help page by simply running.

$ wget -h


Some useful examples of wget command are:

The most basic download example of wget is:

$ wget https://wordpress.org/latest.zip


Example of downloading from URLs listed in a file. First here is the list of our file:

$ cat list.txt



Then you can run the download with:

$ wget -i list.txt


To run a download in a background you can use:

$ wget -b https://wordpress.org/latest.zip


If you want to use wget with FTP to download a single file.

$ wget ftp://user:password@host:/path-to-file/file.txt


A more useful example of this would be to use background and recursive mode so you can obtain all files and folders within a directory.

$ wget -br ftp://user:password@ftp-host:/path-for-download/


Wget is preinstalled on many of the modern Linux distros, but if you need to install it, you can use:

$ sudo apt install wget    # Debian/Ubuntu like distros
# yum install wget         # CentOS/RHEL
# dnf install wget         # Fedora



A curl is a tool that can be used to transfer data from or to a server. It supports multiple protocols. According to its man page, the following protocols are supported DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, and TFTP.


As you can imagine, you can do a lot with these. As you probably figured it out, curl supports proxies, user authentication, FTP upload/download, file transfer resume and many many more.


Here are some examples of using curl:

Download a file:

$ curl -O https://wordpress.org/latest.zip
Download a file to output file by your choice


$ curl -o wordpress.zip https://wordpress.org/latest.zip


To resume an interrupted download you can use:

$ curl -C - O https://wordpress.org/latest.zip


You can check more useful curl examples here: 15 Tips on how to use curl in Linux.


To install curl, you can use:

$ sudo apt install curl    # Debian/Ubuntu
# yum install curl         # CentOS/RHEL
# dnf install curl         # Fedora




Aria is another multi-protocol download tool. Aria supports HTTP/HTTPS, FTP/SFTP BitTorrent and Metalink. Some of the features that make it different compared to others are that it supports the download of files from multiple locations at the same time, magnet links and is fully featured BitTorrent client.


As a BitTorrent client, it supports DHT, PEX, encryption, Magnet URI, web seeding, selective downloads, and local peer discovery.


Feel free to review the Aria2 download manager article for more detailed usage. Below you can see few examples of aria2 basic usage


Here are some examples of using Aria2


Download a torrent file:

$ aria2c http://releases.ubuntu.com/18.10/ubuntu-18.10-desktop-amd64.iso.torrent


Download, using URLs listed in a text file:

$ aria2c -i downloadurls.txt


Resume incomplete download:

$ aria2c -c http://releases.ubuntu.com/18.10/ubuntu-18.10-desktop-amd64.iso.torrent


Download from password protected site:

$ aria2c --http-user=xxx --http-password=xxx https://protectedwebsite.com/file


To install Aria2, you can use the following commands: 

$ sudo apt install aria2      # Debian/Ubuntu
# yum install aria2           # CentOS/RHEL
# dnf install aria2           # Fedora




The fourth download utility in our list is Axel, attempts to improve the downloading process by using multiple connections for one file. It can use multiple download locations for one download. According to the developers, Axel can increase the download speed of your downloads by 60% and it supports protocols: HTTP/HTTPS, FTP, and FTPS.


We have reviewed Axel in a separate article, which you can find here: How to use Axel as download accelerator to speed up FTP and HTTP downloads in Linux.


In the above article, you can check some download time comparisons between wget, HTTP download, and Axel.


Here are some examples of using Axel:


To perform a simple download with Axel, you can use the following command:

$ axel https://wordpress.org/latest.zip


You can set maximum download speed with the corresponding option --max-speed or short option -s. The value is set in bytes per second:

$ axel --max-speed=512000 https://wordpress.org/latest.zip


To save the file with different name, you can use the -o option to specify the file name:

$ axel -o wordpress.zip https://wordpress.org/latest.zip


If you want to install Axel on your Linux system use the appropriate from the commands below:

$ sudo apt install axel                                  # Ubuntu/Debian
# yum install epel release && yum install axel   # CentOS/RHEL
# dnf install axel                                       # Fedora
?האם התשובה שקיבלתם הייתה מועילה 0 משתמשים שמצאו מאמר זה מועיל (0 הצבעות)