10 Wget (Linux File Downloader) Kommandoeksempler i Linux


I denne artikkelen vil vi se på wget-verktøyet som henter filer fra World Wide Web (WWW) ved å bruke mye brukte protokoller som HTTP , HTTPS, FTP, og FTPS.

Wget er et gratis kommandolinjeverktøy og nettverksfilnedlasting, som kommer med mange funksjoner som gjør det enkelt å laste ned filer, inkludert:

  • Last ned store filer eller speil komplette web- eller FTP-sider.
  • Last ned flere filer samtidig.
  • Angi båndbredde og hastighetsgrense for nedlastinger.
  • Last ned filer via proxyer.
  • Kan gjenoppta avbrutt nedlasting.
  • Rekursivt speil kataloger.
  • Kjører på de fleste UNIX-lignende operativsystemer så vel som Windows.
  • Uovervåket/bakgrunnsoperasjon.
  • Støtte for vedvarende HTTP-tilkoblinger.
  • Støtte for SSL/TLS for krypterte nedlastinger ved bruk av OpenSSL- eller GnuTLS-biblioteket.
  • Støtte for IPv4- og IPv6-nedlastinger.

Wget kommandosyntaks

Den grunnleggende syntaksen til Wget er:

wget [option] [URL]

Kontroller først om wget-verktøyet allerede er installert eller ikke i Linux-boksen ved å bruke følgende kommando.

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

Installer Wget på Linux

Hvis Wget ikke er installert, kan du installere det ved å bruke Linux-systemets standardpakkebehandling som vist.

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]    

Alternativet -y som brukes her er å forhindre bekreftelsesmeldinger før du installerer en pakke. For flere YUM- og APT-kommandoer og alternativer, les artiklene våre om:

  • 20 Linux YUM-kommandoer for pakkebehandling
  • 15 APT-kommandoeksempler i Ubuntu/Debian & Mint
  • 45 Zypper-kommandoer for å administrere OpenSUSE Linux

1. Last ned en fil med Wget

Kommandoen vil laste ned en enkelt fil og lagre den i en gjeldende katalog. Den viser også nedlastingsfremgang, størrelse, dato og tid under nedlasting.

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 Last ned fil med et annet navn

Ved å bruke -O (store bokstaver), laster du ned filer med forskjellige filnavn. Her har vi gitt wget.zip-filnavnet som vist nedenfor.

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 Last ned flere filer med HTTP- og FTP-protokoll

Her ser vi hvordan du laster ned flere filer ved å bruke HTTP- og FTP-protokollen med wget-kommandoen samtidig.

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 Last ned flere filer fra en fil

For å laste ned flere filer samtidig, bruk -i-alternativet med plasseringen til filen som inneholder listen over URL-er som skal lastes ned. Hver URL må legges til på en egen linje som vist.

For eksempel inneholder følgende fil «download-linux.txt»-filen listen over nettadresser som skal lastes ned.

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

Hvis URL-listen din har et bestemt nummereringsmønster, kan du legge til krøllete klammeparenteser for å hente alle nettadressene som samsvarer med mønsteret. Hvis du for eksempel vil laste ned en serie Linux-kjerner fra versjon 5.1.1 til 5.1.15, kan du gjøre følgende.

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 Ufullført nedlasting

Ved nedlasting av store filer kan det noen ganger skje at nedlastingen stoppes. I så fall kan vi gjenoppta nedlastingen av den samme filen der den ble avsluttet med alternativet -c.

Men når du begynner å laste ned filer uten å spesifisere -c, vil et alternativ wget legge til .1 utvidelse på slutten av filen, ansett som en fersk fil. nedlasting. Så det er god praksis å legge til -c-bryteren når du laster ned store filer.

# 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
[root@tecmint ~]# 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 Hele nettstedet

For å laste ned eller speile eller kopiere et helt nettsted for offline visning, kan du bruke følgende kommando som vil lage en lokal kopi av nettstedet sammen med alle ressursene (JavaScript, CSS, Bilder).

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

Forklaring av kommandoen ovenfor.

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 Last ned filer i bakgrunnen

Med -b-alternativet kan du sende en nedlasting i bakgrunnen umiddelbart etter at nedlastingen starter og logger er skrevet i wget.log-filen.

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 Filnedlastingshastighetsgrenser

Med alternativet --limit-rate=100k, er nedlastingshastighetsgrensen begrenset til 100k og loggene vil bli opprettet under wget.log som vist nedenfor.

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

Se wget.log-filen og sjekk nedlastingshastigheten til wgeten.

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 Last ned passordbeskyttede filer via FTP og HTTP

For å laste ned en fil fra en passordbeskyttet FTP-server, kan du bruke alternativene --ftp-user=brukernavn og --ftp-password=passord som vist.

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

For å laste ned en fil fra en passordbeskyttet HTTP-server, kan du bruke alternativene --http-user=brukernavn og --http-password=password som vist.

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

10. Wget Ignorer SSL-sertifikatsjekk

For å ignorere SSL-sertifikatkontrollen mens du laster ned filer over HTTPS, kan du bruke --no-check-certificate-alternativet:

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-versjon og hjelp

Med alternativene --versjon og --help kan du se versjonen og hjelp etter behov.

wget --version
wget --help

I denne artikkelen har vi dekket Linux wget-kommandoer med alternativer for daglige administrative oppgaver. Gjør man wget hvis du vil vite mer om det? Del gjerne gjennom kommentarfeltet vårt, eller hvis vi har gått glipp av noe, gi oss beskjed.