HomeLinux10 Wget (Linux File Downloader) Command Examples in Linux

10 Wget (Linux File Downloader) Command Examples in Linux


On this article, we are going to evaluate the wget utility which retrieves recordsdata from World Large Internet (WWW) utilizing broadly used protocols like HTTP, HTTPS, FTP, and FTPS.

Wget is a free command-line utility and community file downloader, which comes with many options that make file downloads simple, together with:

  • Obtain giant recordsdata or mirror full net or FTP websites.
  • Obtain a number of recordsdata without delay.
  • Set bandwidth and pace restrict for downloads.
  • Obtain recordsdata by proxies.
  • Can resume aborted downloads.
  • Recursively mirror directories.
  • Runs on most UNIX-like working techniques in addition to Home windows.
  • Unattended / background operation.
  • Help for persistent HTTP connections.
  • Help for SSL/TLS for encrypted downloads utilizing the OpenSSL or GnuTLS library.
  • Help for IPv4 and IPv6 downloads.

Wget Command Syntax

The fundamental syntax of Wget is:

$ wget [option] [URL]

First, verify whether or not the wget utility is already put in or not in your Linux field, utilizing the next command.

$ rpm -q wget         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ dpkg -l | grep wget [On Debian, Ubuntu and Mint]

Set up Wget on Linux

If Wget isn’t put in, you may set up it utilizing your Linux system’s default package deal supervisor as proven.

$ sudo apt set up wget -y      [On Debian, Ubuntu and Mint]
$ sudo yum set up wget -y      [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a net-misc/wget  [On Gentoo Linux]
$ sudo pacman -Sy wget           [On Arch Linux]
$ sudo zypper set up wget      [On OpenSUSE]    

The -y possibility used right here is to forestall affirmation prompts earlier than putting in any package deal. For extra YUM and APT command examples and choices learn our articles on:

1. Obtain a File with Wget

The command will obtain a single file and retailer it in a present listing. It additionally exhibits obtain progress, dimension, date, and time whereas downloading.

# wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz

--2021-12-10 04:15:16--  http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... related.
HTTP request despatched, awaiting response... 200 OK
Size: 3565643 (3.4M) [application/x-gzip]
Saving to: ‘wget2-2.0.0.tar.gz’

wget2-2.0.0.tar.gz      100%[==========>]   3.40M  2.31MB/s    in 1.5s    

2021-12-10 04:15:18 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]

2. Wget Obtain File with a Completely different Title

Utilizing -O (uppercase) possibility, downloads recordsdata with completely different file names. Right here now we have given the wget.zip file identify as proven under.

# wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz

--2021-12-10 04:20:19--  http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... related.
HTTP request despatched, awaiting response... 200 OK
Size: 446966 (436K) [application/x-gzip]
Saving to: ‘wget.zip’

wget.zip      100%[===================>] 436.49K   510KB/s    in 0.9s    

2021-12-10 04:20:21 (510 KB/s) - ‘wget.zip’ saved [446966/446966]

3. Wget Obtain A number of Recordsdata with HTTP and FTP Protocol

Right here we see the way to obtain a number of recordsdata utilizing HTTP and FTP protocol with the wget command concurrently.

$ wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz ftp://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz.sig

--2021-12-10 06:45:17--  http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... related.
HTTP request despatched, awaiting response... 200 OK
Size: 3565643 (3.4M) [application/x-gzip]
Saving to: ‘wget2-2.0.0.tar.gz’

wget2-2.0.0.tar.gz      100%[==========>]   4.40M  4.31MB/s    in 1.1s    

2021-12-10 06:46:10 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]

4. Wget Obtain A number of Recordsdata From a File

To obtain a number of recordsdata without delay, use the -i possibility with the situation of the file that incorporates the listing of URLs to be downloaded. Every URL must be added on a separate line as proven.

For instance, the next file ‘download-linux.txt‘ file incorporates the listing of URLs to be downloaded.

# cat download-linux.txt 

https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
https://obtain.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.5-x86_64-dvd1.iso
https://cdimage.debian.org/debian-cd/present/amd64/iso-dvd/debian-11.2.0-amd64-DVD-1.iso
# wget -i download-linux.txt

--2021-12-10 04:52:40--  https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.248, 91.189.88.247, 91.189.91.124, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443... related.
HTTP request despatched, awaiting response... 200 OK
Size: 3071934464 (2.9G) [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’

ubuntu-20.04.3-desktop-amd64   4%[=>      ] 137.71M  11.2MB/s    eta 3m 30s
...

In case your URL listing has a selected numbering sample, you may add curly braces to fetch all of the URLs that match the sample. For instance, if you wish to obtain a sequence of Linux kernels ranging from model 5.1.1 to five.1.15, you are able to do the next.

$ wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.{1..15}.tar.gz

--2021-12-10 05:46:59--  https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz
Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.95.133, 2604:1380:3000:1500::1
Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443... related.
WARNING: The certificates of ‘mirrors.edge.kernel.org’ isn't trusted.
WARNING: The certificates of ‘mirrors.edge.kernel.org’ isn't but activated.
The certificates has not but been activated
HTTP request despatched, awaiting response... 200 OK
Size: 164113671 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.1.tar.gz’

linux-5.1.1.tar.gz      100%[===========>] 156.51M  2.59MB/s    in 61s     

2021-12-10 05:48:01 (2.57 MB/s) - ‘linux-5.1.1.tar.gz’ saved [164113671/164113671]

--2021-12-10 05:48:01--  https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.2.tar.gz
Reusing present connection to mirrors.edge.kernel.org:443.
HTTP request despatched, awaiting response... 200 OK
Size: 164110470 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.2.tar.gz’

linux-5.1.2.tar.gz     19%[===========]  30.57M  2.58MB/s    eta 50s


5. Wget Resume Uncompleted Obtain

In case of massive file obtain, it might occur typically to cease obtain in that case we will resume downloading the identical file the place it was left off with -c possibility.

However if you begin downloading recordsdata with out specifying -c an possibility wget will add .1 extension on the finish of the file, thought of as a recent obtain. So, it’s good apply so as to add -c change if you obtain massive recordsdata.

# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso

--2021-12-10 05:27:59--  https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.247, 91.189.91.123, 91.189.91.124, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.247|:443... related.
HTTP request despatched, awaiting response... 206 Partial Content material
Size: 3071934464 (2.9G), 2922987520 (2.7G) remaining [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’

ubuntu-20.04.3-desktop-amd64.iso        5%[++++++> ]   167.93M  11.1MB/s               
^C
[[email protected] ~]# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
--2021-12-10 05:28:03--  https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.248, 91.189.91.124, 91.189.91.123, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443... related.
HTTP request despatched, awaiting response... 206 Partial Content material
Size: 3071934464 (2.9G), 2894266368 (2.7G) remaining [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’

ubuntu-20.04.3-desktop-amd64.iso        10%[+++++++=====> ] 296.32M  17.2MB/s    eta 2m 49s ^

6. Wget Mirror Whole Web site

To obtain or mirror or copy a complete web site for offline viewing, you should utilize use the next command that can make an area copy of the web site together with all of the property (JavaScript, CSS, Pictures).

$ wget --recursive --page-requisites --adjust-extension --span-hosts --convert-links --restrict-file-names=home windows --domains yoursite.com --no-parent yoursite.com

Rationalization of the above command.

wget 
     --recursive  # Obtain the entire website.
     --page-requisites  # Get all property/parts (CSS/JS/photos).
     --adjust-extension  # Save recordsdata with .html on the tip.
     --span-hosts  # Embody mandatory property from offsite as effectively.
     --convert-links  # Replace hyperlinks to nonetheless work within the static model.
     --restrict-file-names=home windows  # Modify filenames to work in Home windows as effectively.
     --domains yoursite.com  # Don't observe hyperlinks outdoors this area.
     --no-parent  # Do not observe hyperlinks outdoors the listing you cross in.
         yoursite.com/no matter/path # The URL to obtain

7. Wget Obtain Recordsdata in Background

With -b possibility you may ship a obtain within the background instantly after the obtain begins and logs are written within the wget.log file.

$ wget -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso

Persevering with in background, pid 8999.
Output shall be written to ‘wget.log’.

8. Wget Set File Obtain Pace Limits

With possibility --limit-rate=100k, the obtain pace restrict is restricted to 100k and the logs shall be created underneath wget.log as proven under.

$ wget -c --limit-rate=100k -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso

Persevering with in background, pid 9108.
Output shall be written to ‘wget-log’.

View the wget.log file and verify the obtain pace of the wget.

$ tail -f wget-log 

 5600K .......... .......... .......... .......... ..........  0%  104K 8h19m
 5650K .......... .......... .......... .......... ..........  0%  103K 8h19m
 5700K .......... .......... .......... .......... ..........  0%  105K 8h19m
 5750K .......... .......... .......... .......... ..........  0%  104K 8h18m
 5800K .......... .......... .......... .......... ..........  0%  104K 8h18m
 5850K .......... .......... .......... .......... ..........  0%  105K 8h18m
 5900K .......... .......... .......... .......... ..........  0%  103K 8h18m
 5950K .......... .......... .......... .......... ..........  0%  105K 8h18m
 6000K .......... .......... .......... .......... ..........  0% 69.0K 8h20m
 6050K .......... .......... .......... .......... ..........  0%  106K 8h19m
 6100K .......... .......... .......... .......... ..........  0% 98.5K 8h20m
 6150K .......... .......... .......... .......... ..........  0%  110K 8h19m
 6200K .......... .......... .......... .......... ..........  0%  104K 8h19m
 6250K .......... .......... .......... .......... ..........  0%  104K 8h19m
...

9. Wget Obtain Password Protected Recordsdata by way of FTP and HTTP

To obtain a file from a password-protected FTP server, you should utilize the choices --ftp-user=username and --ftp-password=password as proven.

$ wget --ftp-user=narad --ftp-password=password ftp://ftp.instance.com/filename.tar.gz

To obtain a file from a password-protected HTTP server, you should utilize the choices --http-user=username and --http-password=password as proven.

$ wget --http-user=narad --http-password=password http://http.instance.com/filename.tar.gz

10. Wget Ignore SSL Certificates Test

To disregard the SSL certificates verify whereas downloading recordsdata over HTTPS, you should utilize the --no-check-certificate possibility:

$ wget --no-check-certificate https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz

--2021-12-10 06:21:21--  https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz
Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.95.133, 2604:1380:3000:1500::1
Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443... related.
WARNING: The certificates of ‘mirrors.edge.kernel.org’ isn't trusted.
WARNING: The certificates of ‘mirrors.edge.kernel.org’ isn't but activated.
The certificates has not but been activated
HTTP request despatched, awaiting response... 200 OK
Size: 164113671 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.1.tar.gz’
...

11. Wget Model and Assist

With choices --version and --help you may view the model and assist as wanted.

$ wget --version
$ wget --help

On this article, now we have coated Linux wget instructions with choices for each day administrative duties. Do man wget if you wish to know extra about it? Kindly share by our remark field or if we’ve missed out on something, do tell us.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments