10 Wget (Linux File Downloader) Mga Pananglitan sa Sugo sa Linux


Niini nga artikulo, atong susihon ang wget utility nga nagkuha sa mga file gikan sa World Wide Web (WWW) gamit ang kaylap nga gigamit nga mga protocol sama sa HTTP, HTTPS, FTP, ug FTPS.

Ang Wget usa ka libre nga command-line utility ug network file downloader, nga adunay daghang mga bahin nga makapadali sa pag-download sa file, lakip ang:

  • Pag-download sa dagkong mga file o salamin sa kompletong web o FTP nga mga site.
  • Pag-download og daghang mga file sa usa ka higayon.
  • Itakda ang bandwidth ug speed limit para sa mga download.
  • Pag-download sa mga file pinaagi sa mga proxy.
  • Mahimo ipadayon ang gi-abort nga mga pag-download.
  • Recursively mirror directory.
  • Nagdagan sa kadaghanan nga sama sa UNIX nga mga operating system ingon man sa Windows.
  • Wala maatiman/background nga operasyon.
  • Suporta para sa padayon nga HTTP nga koneksyon.
  • Suporta para sa SSL/TLS para sa na-encrypt nga mga pag-download gamit ang OpenSSL o GnuTLS library.
  • Suporta alang sa IPv4 ug IPv6 downloads.

Ang sukaranan nga syntax sa Wget mao ang:

$ wget [option] [URL]

Una, susiha kung ang wget utility na-install na o wala sa imong Linux box, gamit ang mosunod nga sugo.

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

Kung wala ma-install ang Wget, mahimo nimo kini i-install gamit ang default package manager sa imong Linux system sama sa gipakita.

$ sudo apt install wget -y      [On Debian, Ubuntu and Mint]
$ sudo yum install 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 install wget      [On OpenSUSE]    

Ang -y nga opsyon nga gigamit dinhi mao ang pagpugong sa pagkumpirma sa mga prompt sa dili pa i-install ang bisan unsang package. Alang sa dugang nga YUM ug APT command examples ug mga kapilian basaha ang among mga artikulo sa:

  • 20 Linux YUM Commands para sa Package Management
  • 15 APT Command nga mga Ehemplo sa Ubuntu/Debian & Mint
  • 45 Mga Ehemplo sa Zypper Command sa Pagdumala sa OpenSUSE Linux

1. Pag-download ug File gamit ang Wget

Ang sugo mag-download sa usa ka file ug tipigan kini sa kasamtangan nga direktoryo. Nagpakita usab kini sa pag-uswag sa pag-download, gidak-on, petsa, ug oras samtang nag-download.

# 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... connected.
HTTP request sent, awaiting response... 200 OK
Length: 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. Pag-download sa File nga adunay Lahi nga Ngalan

Gamit ang -O (uppercase) nga opsyon, mag-download sa mga file nga adunay lain-laing mga ngalan sa file. Dinhi among gihatag ang wget.zip file name sama sa gipakita sa ubos.

# 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... connected.
HTTP request sent, awaiting response... 200 OK
Length: 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. Pag-download sa Daghang mga File nga adunay HTTP ug FTP Protocol

Dinhi atong makita kung giunsa ang pag-download sa daghang mga file gamit ang HTTP ug FTP protocol nga adunay wget nga mando sa usa ka higayon.

$ 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... connected.
HTTP request sent, awaiting response... 200 OK
Length: 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. Pag-download sa Daghang mga File Gikan sa usa ka File

Aron maka-download og daghang mga file sa usa ka higayon, gamita ang opsyon nga -i uban ang lokasyon sa file nga adunay listahan sa mga URL nga i-download. Ang matag URL kinahanglan nga idugang sa usa ka lahi nga linya sama sa gipakita.

Pananglitan, ang mosunod nga file nga 'download-linux.txt' nga file adunay lista sa mga URL nga i-download.

# cat download-linux.txt 

https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.5-x86_64-dvd1.iso
https://cdimage.debian.org/debian-cd/current/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... connected.
HTTP request sent, awaiting response... 200 OK
Length: 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
...

Kung ang imong lista sa URL adunay usa ka partikular nga pattern sa pagnumero, mahimo nimong idugang ang mga kulot nga braces aron makuha ang tanan nga mga URL nga parehas sa sumbanan. Pananglitan, kung gusto nimong i-download ang usa ka serye sa mga kernel sa Linux sugod sa bersyon 5.1.1 hangtod 5.1.15, mahimo nimo ang mosunod.

$ 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... connected.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated.
The certificate has not yet been activated
HTTP request sent, awaiting response... 200 OK
Length: 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 existing connection to mirrors.edge.kernel.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 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 Wala Makompleto nga Pag-download

Sa kaso sa dako nga file download, kini mahimong mahitabo usahay sa paghunong sa download sa kaso nga kita makapadayon sa pag-download sa sama nga file diin kini gibiyaan uban sa -c opsyon.

Apan kung magsugod ka sa pag-download sa mga file nga wala magpiho -c usa ka kapilian nga wget magdugang .1 extension sa katapusan sa file, giisip nga bag-ong pag-download. Busa, maayo nga praktis ang pagdugang -c switch kung mag-download ka og dagkong mga file.

# 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... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 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
 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... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 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 Tibuok Website

Sa pag-download o pagsalamin o pagkopya sa tibuok website para sa offline nga pagtan-aw, mahimo nimong gamiton ang mosunod nga sugo nga maghimo ug lokal nga kopya sa website uban sa tanang asset (JavaScript, CSS, Images).

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

Pagpatin-aw sa sugo sa ibabaw.

wget \
     --recursive \ # Download the whole site.
     --page-requisites \ # Get all assets/elements (CSS/JS/images).
     --adjust-extension \ # Save files with .html on the end.
     --span-hosts \ # Include necessary assets from offsite as well.
     --convert-links \ # Update links to still work in the static version.
     --restrict-file-names=windows \ # Modify filenames to work in Windows as well.
     --domains yoursite.com \ # Do not follow links outside this domain.
     --no-parent \ # Don't follow links outside the directory you pass in.
         yoursite.com/whatever/path # The URL to download

7. Pag-download sa mga File sa Background

Uban sa -b nga kapilian mahimo nimong ipadala ang pag-download sa background dayon pagkahuman sa pagsugod sa pag-download ug ang mga log gisulat sa wget.log file.

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

Continuing in background, pid 8999.
Output will be written to ‘wget.log’.

8. Wget Set File Download Speed Limits

Uban sa opsyon --limit-rate=100k, ang limitasyon sa gikusgon sa pag-download gilimitahan ngadto sa 100k ug ang mga troso himoon ubos sa wget.log sama sa gipakita sa ubos.

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

Continuing in background, pid 9108.
Output will be written to ‘wget-log’.

Tan-awa ang wget.log file ug susiha ang gikusgon sa pag-download sa 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. I-download ang Password Protected Files pinaagi sa FTP ug HTTP

Para mag-download ug file gikan sa FTP server nga giprotektahan sa password, mahimo nimong gamiton ang mga opsyon --ftp-user=username ug --ftp-password=password sama sa gipakita.

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

Para mag-download ug file gikan sa HTTP server nga giprotektahan sa password, mahimo nimong gamiton ang mga opsyon --http-user=username ug --http-password=password sama sa gipakita.

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

10. Wget Ibaliwala ang SSL Certificate Check

Aron ibaliwala ang SSL certificate check samtang nag-download sa mga file sa HTTPS, mahimo nimong gamiton ang --no-check-certificate nga opsyon:

$ 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... connected.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated.
The certificate has not yet been activated
HTTP request sent, awaiting response... 200 OK
Length: 164113671 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.1.tar.gz’
...

11. Wget nga Bersyon ug Tabang

Uban sa mga opsyon --version ug --help mahimo nimong tan-awon ang bersyon ug tabang kon gikinahanglan.

$ wget --version
$ wget --help

Niini nga artikulo, gitabonan namo ang Linux wget nga mga sugo nga adunay mga kapilian alang sa adlaw-adlaw nga mga buluhaton sa pagdumala. Buhata ang tawo kung gusto nimo mahibal-an ang dugang bahin niini. Palihug ipaambit pinaagi sa among kahon sa komento o kung nasipyat kami sa bisan unsang butang, ipahibalo kanamo.