10 Wget (Linux File Downloader) stjórnunardæmi í Linux


Í þessari grein ætlum við að fara yfir wget tólið sem sækir skrár af veraldarvefnum (WWW) með því að nota mikið notaðar samskiptareglur eins og HTTP, HTTPS, FTP og FTPS.

Wget er ókeypis skipanalínutól og netskráarniðurhalari, sem kemur með mörgum eiginleikum sem gera niðurhal skráa auðvelt, þar á meðal:

  • Sæktu stórar skrár eða speglaðu heilar vef- eða FTP-síður.
  • Sæktu margar skrár í einu.
  • Stilltu bandbreidd og hraðamörk fyrir niðurhal.
  • Sæktu skrár í gegnum umboð.
  • Getur haldið áfram niðurhali sem hefur verið hætt.
  • Endurspegla möppur.
  • Keyrar á flestum UNIX-líkum stýrikerfum sem og Windows.
  • Eftirlitslaus/bakgrunnsaðgerð.
  • Stuðningur við viðvarandi HTTP-tengingar.
  • Stuðningur við SSL/TLS fyrir dulkóðað niðurhal með OpenSSL eða GnuTLS bókasafninu.
  • Stuðningur við IPv4 og IPv6 niðurhal.

Grunnsetningafræði Wget er:

$ wget [option] [URL]

Athugaðu fyrst hvort wget tólið sé þegar uppsett eða ekki í Linux kassanum þínum með því að nota eftirfarandi skipun.

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

Ef Wget er ekki uppsett geturðu sett það upp með því að nota sjálfgefna pakkastjóra Linux kerfisins eins og sýnt er.

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

-y valmöguleikinn sem notaður er hér er til að koma í veg fyrir staðfestingarbeiðnir áður en einhver pakki er settur upp. Fyrir fleiri YUM og APT skipanir dæmi og valkosti lesið greinar okkar um:

  • 20 Linux YUM skipanir fyrir pakkastjórnun
  • 15 APT stjórnunardæmi í Ubuntu/Debian & Mint
  • 45 Zypper stjórnunardæmi til að stjórna OpenSUSE Linux

1. Sæktu skrá með Wget

Skipunin mun hlaða niður einni skrá og geyma hana í núverandi möppu. Það sýnir einnig niðurhalsframvindu, stærð, dagsetningu og tíma meðan á niðurhali stendur.

# 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 niðurhalsskrá með öðru nafni

Með því að nota -O (hástafi) valkostinn, hleður niður skrám með mismunandi skráarnöfnum. Hér höfum við gefið wget.zip skráarnafnið eins og sýnt er hér að neðan.

# 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 Sækja margar skrár með HTTP og FTP samskiptareglum

Hér sjáum við hvernig á að hlaða niður mörgum skrám með HTTP og FTP samskiptareglum með wget skipuninni í einu.

$ 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 Sækja margar skrár úr skrá

Til að hlaða niður mörgum skrám í einu, notaðu -i valkostinn með staðsetningu skráarinnar sem inniheldur lista yfir vefslóðir sem á að hlaða niður. Bæta þarf við hverri vefslóð á sérstaka línu eins og sýnt er.

Til dæmis, eftirfarandi skrá ‘download-linux.txt‘ skrá inniheldur lista yfir vefslóðir sem á að hlaða niður.

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

Ef vefslóðalistinn þinn hefur ákveðið númeramynstur geturðu bætt við krulluðum axlaböndum til að sækja allar vefslóðirnar sem passa við mynstrið. Til dæmis, ef þú vilt hlaða niður röð af Linux kjarna frá útgáfu 5.1.1 til 5.1.15 geturðu gert eftirfarandi.

$ 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 Ólokið niðurhal

Ef um stórar skrár er að hlaða niður getur það stundum gerst að stöðva niðurhal í því tilviki getum við haldið áfram að hlaða niður sömu skrá þar sem það var horfið frá með -c valkostinum.

En þegar þú byrjar að hlaða niður skrám án þess að tilgreina -c mun valmöguleikinn wget bæta við .1 endingunni í lok skráarinnar, álitið sem nýtt niðurhal. Svo, það er góð venja að bæta við -c rofi þegar þú halar niður stórum skrám.

# 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 öll vefsíðan

Til að hlaða niður eða spegla eða afrita heila vefsíðu til að skoða án nettengingar geturðu notað eftirfarandi skipun sem gerir staðbundið afrit af vefsíðunni ásamt öllum eignum (JavaScript, CSS, myndir).

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

Skýring á ofangreindri skipun.

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ðurhalsskrár í bakgrunni

Með -b valmöguleikanum geturðu sent niðurhal í bakgrunni strax eftir að niðurhal er hafið og annálar eru skrifaðar í wget.log skrá.

$ 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 Setja niðurhalshraðamörk fyrir skrár

Með valmöguleikanum --limit-rate=100k er niðurhalshraðatakmörkunin takmörkuð við 100k og annálarnir verða búnir til undir wget.log eins og sýnt er hér að neðan.

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

Skoðaðu wget.log skrána og athugaðu niðurhalshraðann á 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 Hlaða niður lykilorðsvörðum skrám í gegnum FTP og HTTP

Til að hlaða niður skrá af FTP-þjóni sem er varinn með lykilorði geturðu notað valkostina --ftp-user=notandanafn og --ftp-password=lykilorð eins og sýnt er.

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

Til að hlaða niður skrá frá HTTP-þjóni sem er varinn með lykilorði geturðu notað valkostina --http-user=notandanafn og --http-password=lykilorð eins og sýnt er.

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

10. Wget Hunsa SSL vottorðathugun

Til að hunsa athugun á SSL vottorði meðan þú hleður niður skrám yfir HTTPS geturðu notað --no-check-certificate valkostinn:

$ 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 útgáfa og hjálp

Með valkostunum --version og --help geturðu skoðað útgáfuna og aðstoð eftir þörfum.

$ wget --version
$ wget --help

Í þessari grein höfum við fjallað um Linux wget skipanir með valkostum fyrir dagleg stjórnunarverkefni. Gerðu maður wget ef þú vilt vita meira um það. Vinsamlegast deildu í gegnum athugasemdareitinn okkar eða ef við höfum misst af einhverju, láttu okkur vita.