Zoeken op website

10 Wget (Linux File Downloader) Opdrachtvoorbeelden in Linux


In dit artikel bespreken we het hulpprogramma wget dat bestanden ophaalt van World Wide Web (WWW) met behulp van veelgebruikte protocollen zoals HTTP , HTTPS, FTP, en FTPS.

Wget is een gratis opdrachtregelhulpprogramma en downloader voor netwerkbestanden, die wordt geleverd met veel functies die het downloaden van bestanden eenvoudig maken, waaronder:

  • Download grote bestanden of spiegel complete web- of FTP-sites.
  • Meerdere bestanden tegelijk downloaden.
  • Stel bandbreedte en snelheidslimiet in voor downloads.
  • Bestanden downloaden via proxy's.
  • Kan afgebroken downloads hervatten.
  • Mappen recursief spiegelen.
  • Draait op de meeste UNIX-achtige besturingssystemen en op Windows.
  • Onbeheerd/achtergrondgebruik.
  • Ondersteuning voor persistente HTTP-verbindingen.
  • Ondersteuning voor SSL/TLS voor gecodeerde downloads met behulp van de OpenSSL- of GnuTLS-bibliotheek.
  • Ondersteuning voor IPv4- en IPv6-downloads.

Wget-opdrachtsyntaxis

De basissyntaxis van Wget is:

wget [option] [URL]

Controleer eerst of het hulpprogramma wget al is geïnstalleerd in uw Linux-box, met behulp van de volgende opdracht.

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

Installeer Wget op Linux

Als Wget niet is geïnstalleerd, kunt u het installeren met behulp van de standaardpakketbeheerder van uw Linux-systeem, zoals weergegeven.

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]    

De hier gebruikte -y optie is om bevestigingsvragen te voorkomen voordat een pakket wordt geïnstalleerd. Voor meer YUM en APT commandovoorbeelden en opties, lees onze artikelen over:

  • 20 Linux YUM-opdrachten voor pakketbeheer
  • 15 APT-opdrachtvoorbeelden in Ubuntu/Debian & Mint
  • 45 Zypper-opdrachtvoorbeelden om OpenSUSE Linux te beheren

1. Download een bestand met Wget

Met de opdracht wordt een enkel bestand gedownload en in een huidige map opgeslagen. Het toont ook downloadvoortgang, grootte, datum en tijd tijdens het downloaden.

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-downloadbestand met een andere naam

Met de optie -O (hoofdletter) worden bestanden met verschillende bestandsnamen gedownload. Hier hebben we de bestandsnaam wget.zip gegeven, zoals hieronder weergegeven.

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 Download meerdere bestanden met HTTP- en FTP-protocol

Hier zien we hoe u meerdere bestanden tegelijkertijd kunt downloaden met behulp van het HTTP- en FTP-protocol met de wget-opdracht.

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 Download meerdere bestanden uit een bestand

Om meerdere bestanden tegelijk te downloaden, gebruikt u de optie -i met de locatie van het bestand dat de lijst met URL's bevat die moeten worden gedownload. Elke URL moet op een aparte regel worden toegevoegd, zoals weergegeven.

Het volgende bestand ‘download-linux.txt‘ bevat bijvoorbeeld de lijst met URL's die moeten worden gedownload.

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

Als uw URL-lijst een bepaald nummeringspatroon heeft, kunt u accolades toevoegen om alle URL's op te halen die overeenkomen met het patroon. Als je bijvoorbeeld een reeks Linux-kernels wilt downloaden vanaf versie 5.1.1 tot 5.1.15, kun je het volgende doen.

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 hervatten onvoltooide download

In het geval van het downloaden van grote bestanden kan het soms voorkomen dat het downloaden wordt gestopt. In dat geval kunnen we het downloaden van hetzelfde bestand hervatten waar het was gebleven met de optie -c.

Maar wanneer u begint met het downloaden van bestanden zonder -c op te geven, zal een optie wget de extensie .1 toevoegen aan het einde van het bestand, dat als een nieuw bestand wordt beschouwd downloaden. Het is dus een goede gewoonte om de -c-schakelaar toe te voegen wanneer u grote bestanden downloadt.

# 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 de hele website

Om een volledige website te downloaden, te spiegelen of te kopiëren voor offline weergave, kunt u de volgende opdracht gebruiken, waarmee een lokale kopie van de website wordt gemaakt, samen met alle assets (JavaScript, CSS, afbeeldingen).

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

Uitleg van het bovenstaande commando.

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-downloadbestanden op de achtergrond

Met de optie -b kunt u een download op de achtergrond verzenden onmiddellijk nadat de download is gestart en de logs zijn geschreven in het bestand 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 Stel snelheidslimieten voor het downloaden van bestanden in

Met de optie --limit-rate=100k wordt de downloadsnelheidslimiet beperkt tot 100k en worden de logs aangemaakt onder wget.log, zoals hieronder weergegeven.

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

Bekijk het bestand wget.log en controleer de downloadsnelheid van de 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 Download met wachtwoord beveiligde bestanden via FTP en HTTP

Om een bestand te downloaden van een met een wachtwoord beveiligde FTP-server, kunt u de opties --ftp-user=gebruikersnaam en --ftp-password=wachtwoord gebruiken, zoals weergegeven.

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

Om een bestand te downloaden van een met een wachtwoord beveiligde HTTP-server, kunt u de opties --http-user=gebruikersnaam en --http-password=wachtwoord gebruiken, zoals weergegeven.

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

10. Wget SSL-certificaatcontrole negeren

Om de SSL-certificaatcontrole te negeren tijdens het downloaden van bestanden via HTTPS, kunt u de optie --no-check-certificate gebruiken:

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-versie en Help

Met de opties --version en --help kunt u indien nodig de versie en help bekijken.

wget --version
wget --help

In dit artikel hebben we Linux wget-opdrachten besproken met opties voor dagelijkse administratieve taken. Wil je er meer over weten, man wget? Deel dit alstublieft via ons opmerkingenveld. Als we iets hebben gemist, laat het ons dan weten.