[email protected]Support 24/7 · Billing 09:00 – 00:00LinkedInXFacebook
NexonHost
Netherlands Dedicated ServersAmsterdam · Equinix AM6Germany Dedicated ServersFrankfurt · Equinix FR4Romania Dedicated ServersBucharest · VoxilityAustria Dedicated ServersVienna · Interxion VIEBulgaria Dedicated ServersSofia · TelepointFrance Dedicated ServersParis · Interxion PAR — Marseille · Digital Realty MRS3Ireland Dedicated ServersDublin · Equinix DB2Italy Dedicated ServersMilan · Irideos AvalonPoland Dedicated ServersWarsawSpain Dedicated ServersMadrid · Equinix MD2United States Dedicated ServersAshburn · Equinix DC
All articles
Getting startedJuly 8, 2023

How to use and understand wget command.

How To Use Wget Command.

This article shows how to use the wget command through practical examples and detailed explanations of the most common options.

How to install wget:

Installing Wget on Ubuntu and Debian

sudo apt install wget

Installing Wget on CentOS and Fedora

sudo yum install wget

Wget Command Syntax

Before going into how to use the wget command, let’s start by reviewing the basic syntax.

The wget utility expressions take the following form:

wget [options] [url]
  • options – The Wget options

  • url – URL of the file or directory you want to download or synchronize.

How to Download a File with wget

In its simplest form, when used without any option, wget will download the resource specified in the [url] to the current directory.

In the following example, we are downloading the Linux kernel tar archive:

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz

As you can see from the image above, wget starts by resolving the domain’s IP address, then connects to the remote server and starts the transfer.

During the download, wget shows the progress bar alongside the file name, file size, download speed, and the estimated time to complete the download. Once the download is complete, you can find the downloaded file in your current working directory .

To turn off the output, use the -q option.

If the file already exists, wget will add .N (number) at the end of the file name.

Saving the Downloaded File Under Different Name

To save the downloaded file under a different name, pass the -O option followed by the chosen name:

wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip

The command above will save the latest hugo zip file from GitHub as latest-hugo.zip instead of its original name.

Downloading a File to a Specific Directory

By default, wget will save the downloaded file in the current working directory. To save the file to a specific location, use the -P option:

wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso

The command above tells wget to save the CentOS 7 iso file to the /mnt/iso directory.

Limiting the Download Speed

To limit the download speed, use the –limit-rate option. By default, the speed is measured in bytes/second. Append k for kilobytes, m for megabytes, and g for gigabytes.

The following command will download the Go binary and limit the download speed to 1MB:

wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

This option is useful when you don’t want wget to consume all the available bandwidth.

Resuming a Download

You can resume a download using the -c option. This is useful if your connection drops during a download of a large file, and instead of starting the download from scratch, you can continue the previous one.

In the following example, we are resuming the download of the Ubuntu 18.04 iso file:

AD

wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

If the remote server does not support resuming downloads, wget will start the download from the beginning and overwrite the existing file.

Downloading in Background

To download in the background, use the -b option. In the following example, we are downloading the OpenSuse iso file in the background:

wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso

By default, the output is redirected to wget-log file in the current directory. To watch the status of the download, use the tail command:

tail -f wget-log

Changing the Wget User-Agent

Sometimes when downloading a file, the remote server may be set to block the Wget User-Agent. In situations like this, to emulate a different browser, pass the -U option.

wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/

The command above will emulate Firefox 60 requesting the page from wget-forbidden.com

Downloading Multiple Files

If you want to download multiple files at once, use the -i option followed by the path to a local or external file containing a list of the URLs to be downloaded. Each URL needs to be on a separate line.

The following example shows how to download the Arch Linux, Debian, and Fedora iso files using the URLs specified in the linux-distros.txt file:

wget -i linux-distros.txt
linux-distros.txt
http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso

If you specify as a filename, URLs will be read from the standard input.

Creating a Mirror of a Website

To create a mirror of a website with wget, use the -m option. This will create a complete local of the website by following and downloading all internal links as well as the website resources (JavaScript, CSS, Images).

wget -m https://nexonhost.com

If you want to use the downloaded website for local browsing, you will need to pass a few extra arguments to the command above.

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

The -k option will cause wget to convert the links in the downloaded documents to make them suitable for local viewing. The -p option will tell wget to download all necessary files for displaying the HTML page.

Skipping Certificate Check

If you want to download a file over HTTPS from a host that has an invalid SSL certificate, use the –no-check-certificate option:

wget --no-check-certificate https://domain-with-invalid-ss.com

Downloading to the Standard Output

In the following example, wget will quietly ( flag -q) download and output the latest WordPress version to stdout ( flag -O –) and pipe it to the tar utility, which will extract the archive to the /var/www directory.

wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www

Conclusion

With wget, you can download multiple files, resume partial downloads, mirror websites, and combine the Wget options according to your needs.

Keep reading
What is error 400?
August 14, 2023

What is error 400?

What is 400 error code? The HTTP 400 status code, also known as “400 Bad Request,” is a client-side error response code that indicates the server cannot process the request due to a problem with the request itself. “400 Bad Request” is a general error that indicates that your browser sends a…

Read article
What is 401 error code?
August 14, 2023

What is 401 error code?

What is 401 error code? The 401 Error, also known as the 401 Unauthorised Error, is one of the most common error codes. This error indicates that the request to the website or web application was unable to be authenticated. Fortunately, in most cases, this error is easily corrected. The 401 Error…

Read article
What Is 403 Forbidden Error?
August 14, 2023

What Is 403 Forbidden Error?

What Is 403 Forbidden Error? In this article, we will explain what a 403 forbidden error is, as well as we will let you know 3 methods to fix it. What Is a 403 Forbidden Error? The 403 Forbidden Error is an HTTP status code that pops up when you try to go to a…

Read article
Get in Touch

Together, Let’s Build a Faster, Safer Internet.

Build scalable infrastructure with NexonHost — high-performance dedicated servers, VPS hosting, cloud hosting, and DDoS protection across Europe.

Get Started →Contact Us
[email protected]Support 24/7 · Billing 09:00 – 00:00