GNU Wget is a free tool that allows you to download files from the internet using the command-line. Wget has a lot of features, including the ability to download multiple files, limit bandwidth, resume downloads, ignore SSL checks, download in the background, mirror a website, and more.
Here at Ibmi Media, we shall look into the different options available using the wget command.
Wget takes the following simple syntax:
$ wget [options] [url]
1. Download a file
With no command options, you can download a file with the wget command by specifying the URL of the resource:
$ wget https://github.com/git/git/archive/refs/tags/v2.34.1.zip
2. Download Multiple files
When it comes to downloading multiple files, you need to create a text file and list the URLs of the resources to be downloads. The text file will act as an input file from which wget will read the URLs.
In our case, we have saved a few URLs in the multipledownloads.txt text file.
Next, download the files using wget with -ioption. With the-i option, wget reads from the input file and downloads the resources defined in the input file:
$ wget -i multipledownloads.txt
3. Download files in the background
To download files in the background, use the wget command with -b option. This option comes in handy when the file is large and you need to utilize the terminal for something else:
$ wget -b https://github.com/git/git/archive/refs/tags/v2.34.1.zip
To view the output of the download, view wget logs with the command:
$ tail -f wget-log
4. Resume a download
In some cases, when we start a download the internet becomes unavailable. We can use the wget command '-c' to resume our download from the point when it became unavailable. The following is an example:
$ wget -c https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
5. Saving downloaded file under a different name
Use the wget command with the -o option followed with the desired name of the file:
$ wget -o git.zip https://github.com/git/git/archive/refs/tags/v2.34.1.zip
The file is saved as git.zip in the example above.
6. Download file under a specific directory
The wget commands save downloads in the current working directory. To specify a location use the -P option followed with path to directory:
$ sudo wget -P /opt/wordpress https://wordpress.org/latest.tar.gz
7. Set the download speed
By default, the wget command attempts to use all available bandwidth. However, if you are using a shared internet connection, or trying to download a large file you can use the '–limit-rate' option to cap the download speed to a specific value. You can set the speed in kilobytes ( k) , Megabytes ( m ) or Gigabytes ( g ).
Here, We have set the download speed to 100Kilobytes:
$ wget --limit-rate=100k http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
8. Mirror entire website
Use the -m option with wget to create a mirror of a website. This creates a local copy of the website on your system for local browsing:
$ wget -m https://google.com
You'll need to provide a few extra parameters to the command above if you wish to browse the downloaded page locally:
$ wget -m -k -p https://google.com
The -k option instructs wget to transform links in downloaded documents so that they can be viewed locally. The -p options provides all the essential files for displaying the HTML page.
9. Ignore SSL Checks
Use the —no-check-certificate option to download a file over HTTPS from a server with an incorrect SSL certificate:
$ wget --no-check-certificate https://website-with-invalid-ss.com
10. Increase number of retries
Incase of a network interruption, wget command attempt to re-establish the connection. By default, it tries 20 times to successfully complete the download. The '–tries' option increases the number of retry attempts.
Here, we have set the number of retries to 75 attempts:
$ wget --tries=75 https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
This article covers the wget command which downloads files served with HTTP, HTTPS, or FTP over a network. In fact, Wget is a free GNU command-line utility tool used to download files from the internet. It retrieves files using HTTP, HTTPS, and FTP protocols.
Wget command options includes:
How to Check if wget is Installed?
To check, open the terminal window and type in:
$ wget
If the output displays wget command not found you need to download and install the tool manually. Below you will find the installation instructions for Ubuntu/Debian, CentOS, and Windows.
To install wget on Ubuntu or Debian releases, use the command:
$ sudo apt-get install wget
To install wget on CentOS or Fedora, type the following command:
$ sudo yum install wget
How to Install wget on Windows ?