How to Use wget Command in Linux
-
Check Whether
wgetIs Installed or Not -
Syntax of
wgetCommand -
Download File With
wget -
Save the File Downloaded Using
wgetWith a Custom Filename -
Save the Downloaded File Using
wgetto a Specific Directory -
Specify Downloading Speed Using
wget -
Resume the Download Using
wget -
Download Files in Background Using
wget -
Change the
wgetUser-Agent of thewget -
Download Multiple Files Simultaneously Using
wget -
Download Files Using the
wgetCommand via FTP -
Create a Copy of the Website Using
wget - Skip Certificate Check While Using Wget
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>
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn