10 Eżempji ta' Kmand Wget (Linux File Downloader) f'Linux


F'dan l-artikolu, se nirrevedu l-utilità wget li tirkupra fajls mill-World Wide Web (WWW) billi tuża protokolli użati ħafna bħal HTTP, HTTPS, FTP u FTPS.

Wget huwa utilità b'xejn tal-linja tal-kmand u downloader tal-fajls tan-netwerk, li jiġi b'ħafna karatteristiċi li jagħmlu t-tniżżil tal-fajls faċli, inklużi:

  • Niżżel fajls kbar jew mera siti web jew FTP kompluti.
  • Niżżel fajls multipli f'daqqa.
  • Issettja bandwidth u limitu ta' veloċità għat-tniżżil.
  • Niżżel fajls permezz ta' prokuri.
  • Jista' jerġa' jibda downloads abortiti.
  • Irrifletti b'mod rikorsiv direttorji.
  • Tħaddim fuq il-biċċa l-kbira tas-sistemi operattivi bħal UNIX kif ukoll fuq il-Windows.
  • Tħaddim bla attenzjoni/fl-isfond.
  • Appoġġ għal konnessjonijiet HTTP persistenti.
  • Appoġġ għal SSL/TLS għal downloads kriptati bl-użu tal-librerija OpenSSL jew GnuTLS.
  • Appoġġ għal downloads IPv4 u IPv6.

Is-sintassi bażika ta' Wget hija:

$ wget [option] [URL]

L-ewwel, iċċekkja jekk l-utilità wget hijiex diġà installata jew le fil-kaxxa Linux tiegħek, billi tuża l-kmand li ġej.

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

Jekk Wget ma jkunx installat, tista 'tinstallah billi tuża l-maniġer tal-pakkett default tas-sistema Linux tiegħek kif muri.

$ 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]    

L-għażla -y użata hawnhekk hija biex tipprevjeni l-prompti ta' konferma qabel ma tinstalla kwalunkwe pakkett. Għal aktar eżempji u għażliet ta’ kmand YUM u APT aqra l-artikoli tagħna dwar:

  • 20 Kmand Linux YUM għall-Ġestjoni tal-Pakketti
  • 15 Eżempji ta' Kmand APT f'Ubuntu/Debian & Mint
  • 45 Eżempji ta' Kmand Zypper biex Immaniġġja OpenSUSE Linux

1. Niżżel Fajl b'Wget

Il-kmand se tniżżel fajl wieħed u jaħżen f'direttorju kurrenti. Juri wkoll il-progress tat-tniżżil, id-daqs, id-data u l-ħin waqt it-tniżżil.

# 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. Wget Download File b'Isem Differenti

Bl-użu tal-għażla -O (majju) , iniżżel fajls bl-ismijiet tal-fajls differenti. Hawnhekk tajna l-isem tal-fajl wget.zip kif muri hawn taħt.

# 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. Wget Niżżel Fajls Multipli b'Protokoll HTTP u FTP

Hawnhekk naraw kif tniżżel fajls multipli bl-użu tal-protokoll HTTP u FTP bil-kmand wget f'daqqa.

$ 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. Wget Niżżel Fajls Multipli Minn Fajl

Biex tniżżel fajls multipli f'daqqa, uża l-għażla -i bil-post tal-fajl li fih il-lista tal-URLs li għandhom jitniżżlu. Kull URL jeħtieġ li jiġi miżjud fuq linja separata kif muri.

Pereżempju, il-fajl li ġej download-linux.txt fih il-lista tal-URLs li għandhom jitniżżlu.

# 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
...

Jekk il-lista tal-URL tiegħek għandha mudell ta' numerazzjoni partikolari, tista' żżid ċineg kaboċċi biex iġġib l-URLs kollha li jaqblu mal-mudell. Pereżempju, jekk trid tniżżel serje ta 'kernels Linux li jibdew mill-verżjoni 5.1.1 sa 5.1.15, tista' tagħmel dan li ġej.

$ 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 Tniżżil mhux komplut

Fil-każ ta 'tniżżil ta' fajls kbar, jista 'jiġri kultant li twaqqaf it-tniżżil f'dak il-każ nistgħu nibdew iniżżlu l-istess fajl fejn tħalla bl-għażla -c.

Imma meta tibda tniżżel fajls mingħajr ma tispeċifika -c għażla wget se żżid l-estensjoni .1 fl-aħħar tal-fajl, meqjusa bħala download frisk. Għalhekk, hija prattika tajba li żżid -c switch meta tniżżel fajls kbar.

# 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 Websajt kollu

Biex tniżżel jew tirrifletti jew tikkopja websajt sħiħa għall-wiri offline, tista 'tuża tuża l-kmand li ġej li se tagħmel kopja lokali tal-websajt flimkien mal-assi kollha (JavaScript, CSS, Stampi).

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

Spjegazzjoni tal-kmand t'hawn fuq.

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. Wget Niżżel Fajls fl-Isfond

Bl-għażla -b tista 'tibgħat download fl-isfond immedjatament wara li tibda t-tniżżil u zkuk jinkitbu fil-fajl wget.log.

$ 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 Limiti tal-Veloċità

Bl-għażla --limit-rate=100k, il-limitu tal-veloċità tat-tniżżil huwa ristrett għal 100k u r-zkuk se jinħolqu taħt wget.log kif muri hawn taħt.

$ 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’.

Ara l-fajl wget.log u iċċekkja l-veloċità tat-tniżżil tal-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 Niżżel Fajls Protetti bil-Password permezz ta' FTP u HTTP

Biex tniżżel fajl minn server FTP protett bil-password, tista' tuża l-għażliet --ftp-user=username u --ftp-password=password kif murija.

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

Biex tniżżel fajl minn server HTTP protett bil-password, tista' tuża l-għażliet --http-user=username u --http-password=password kif muri.

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

10. Wget Injora Ċertifikat SSL Iċċekkja

Biex tinjora l-kontroll taċ-ċertifikat SSL waqt li tniżżel fajls fuq HTTPS, tista' tuża l-għażla --no-check-certificate:

$ 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. Verżjoni Wget u Għajnuna

Bl-għażliet --version u --help tista' tara l-verżjoni u tgħin kif meħtieġ.

$ wget --version
$ wget --help

F'dan l-artikolu, koprejna kmandi wget tal-Linux b'għażliet għal kompiti amministrattivi ta 'kuljum. Do man wget jekk trid tkun taf aktar dwarha. Jekk jogħġbok aqsam permezz tal-kaxxa tal-kummenti tagħna jew jekk tlifna xi ħaġa, għarrafna.