How to Use wget Command in Linux

Suraj Joshi Feb 02, 2024
  1. Check Whether wget Is Installed or Not
  2. Syntax of wget Command
  3. Download File With wget
  4. Save the File Downloaded Using wget With a Custom Filename
  5. Save the Downloaded File Using wget to a Specific Directory
  6. Specify Downloading Speed Using wget
  7. Resume the Download Using wget
  8. Download Files in Background Using wget
  9. Change the wget User-Agent of the wget
  10. Download Multiple Files Simultaneously Using wget
  11. Download Files Using the wget Command via FTP
  12. Create a Copy of the Website Using wget
  13. Skip Certificate Check While Using Wget
How to Use wget Command in Linux

We can use the wget command in Linux to download files from the Internet using the HTTP, HTTPS, and FTP protocols with various options such as downloading multiple files at once, downloading in the background, limiting the bandwidth, and much more.

Check Whether wget Is Installed or Not

We can check whether the wget is installed or not in our system by simply entering the wget command in our terminal.

If wget is installed in our system, we get an output as:

wget: missing URL
Usage: wget [OPTION]... [URL]...

Try 'wget --help' for more options.

If wget is not installed in our system, we get an output as:

Command 'wget' not found, but can be installed with:

sudo snap install wget

If wget is not installed in our system, we can install it using the following commands:

Install wget for Ubuntu and Debian

sudo apt install wget

Install wget for CentOS and Fedora

sudo yum install wget

Syntax of wget Command

wget [options] [url]

options are various options available to customize the download process and url refers to the URL from where the file needs to be downloaded or synchronized.

Download File With wget

To download a file using the wget command, we simply specify the URL of the file repo after wget.

wget https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

Output:

--2020-09-28 19:29:15--  https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg
Resolving bloximages.newyork1.vip.townnews.com (bloximages.newyork1.vip.townnews.com)... 104.18.130.43, 104.18.131.43
Connecting to bloximages.newyork1.vip.townnews.com (bloximages.newyork1.vip.townnews.com)|104.18.130.43|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33241 (32K) [image/jpeg]
Saving to: '5ca13d8453042.image.jpg'

5ca13d8453042.image 100%[===================>]  32.46K  --.-KB/s    in 0.003s  

2020-09-28 19:29:15 (11.1 MB/s) - '5ca13d8453042.image.jpg' saved [33241/33241]

It downloads the image file at the given URL and then saves the downloaded file in our current working directory.

The command at first resolves the IP address of the URL and then starts the download. We also can see the download progress bar in the terminal.

If we don’t want to see any output in the terminal, we can use the -q option with the wget command.

Save the File Downloaded Using wget With a Custom Filename

By default, the name of the downloaded file is the same as it was on the web. If we want to save the file with a different filename, we can specify the filename after the -O flag.

wget -O linux.jpg https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

It saves the downloaded file in our current working directory with the filename linux.jpg.

Save the Downloaded File Using wget to a Specific Directory

By default, all the downloaded files get saved in the current working directory. To save the downloaded files in a specific directory, we use the -P option followed by the directory location where the downloaded file needs to be saved.

wget -P Downloads/Linux_Images https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

It saves the downloaded image in the Linux_Images directory inside the Downloads directory.

Specify Downloading Speed Using wget

If we don’t want to use all the available bandwidth for downloading files using wget, we can use the --limit-rate option to restrict the downloading rate of the files.

wget -P --limit-rate=5m https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

It limits the download rate to 5mb.

Resume the Download Using wget

If our internet connection suddenly goes away amidst the download of a large, download the file from the beginning again would be a tedious task. In such cases, we can resume the download using the -c option.

wget -c https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

In some cases, the server might not support resuming downloads, and in such case, the downloading will begin from the start.

Download Files in Background Using wget

To download files in the background using wget, we add -b option to the command.

wget -b https://releases.ubuntu.com/20.04/ubuntu-20.04.1-desktop-amd64.iso

It will download Ubuntu 20.04 image file in the background.

To watch the download status of the file, we use the following command:

tail -f wget-log

Change the wget User-Agent of the wget

In some cases, the server may block the wget user agent. In such cases, we can emulate a different browser using the -U option.

get --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0" <url>

In this case, Mozilla 68 will request the file from the <url>.

Download Multiple Files Simultaneously Using wget

To download multiple files using wget, we make a .txt which lists URLs for each file to be downloaded on a separate line. We then use the wget command with the -i option followed by the file’s path containing URLs.

wget -i files.txt

This will download all the files from the URLs specified in the files.txt file.

Download Files Using the wget Command via FTP

To download files using the wget command via FTP, we specify the username using the --ftp-user option and password using the --ftp-password option.

wget --ftp-user=username --ftp-password=password <url>

It downloads the file from the specified URL using the FTP protocol.

Create a Copy of the Website Using wget

To create a copy of a website using wget, we use -m option followed by the URL whose copy is to be made.

wget -m https://abc.com

This will create a copy of abc.com by downloading all the inner links and static files required to render the website.

If we wish to run the downloaded website, we also need to add -k and -p options.

wget -m -k -p https://abc.com

Skip Certificate Check While Using Wget

Sometimes we need to download a file from the host without a valid SSL certificate using HTTPS protocol. In such cases, we use the --no-check-certificate option to skip certificate checks.

wget --no-check-certificate <url>
Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn