Website-Suche

10 Wget-Befehlsbeispiele (Linux File Downloader) unter Linux


In diesem Artikel stellen wir uns das Dienstprogramm wget vor, das Dateien aus dem World Wide Web (WWW) unter Verwendung weit verbreiteter Protokolle wie HTTP abruft , HTTPS, FTP und FTPS.

Wget ist ein kostenloses Befehlszeilen-Dienstprogramm und Netzwerk-Datei-Downloader, das über viele Funktionen verfügt, die das Herunterladen von Dateien erleichtern, darunter:

  • Laden Sie große Dateien herunter oder spiegeln Sie komplette Web- oder FTP-Sites.
  • Laden Sie mehrere Dateien gleichzeitig herunter.
  • Legen Sie Bandbreite und Geschwindigkeitsbegrenzung für Downloads fest.
  • Laden Sie Dateien über Proxys herunter.
  • Abgebrochene Downloads können fortgesetzt werden.
  • Verzeichnisse rekursiv spiegeln.
  • Läuft auf den meisten UNIX-ähnlichen Betriebssystemen sowie Windows.
  • Unbeaufsichtigter/Hintergrundbetrieb.
  • Unterstützung für dauerhafte HTTP-Verbindungen.
  • Unterstützung für SSL/TLS für verschlüsselte Downloads mithilfe der OpenSSL- oder GnuTLS-Bibliothek.
  • Unterstützung für IPv4- und IPv6-Downloads.

Wget-Befehlssyntax

Die grundlegende Syntax von Wget ist:

wget [option] [URL]

Überprüfen Sie zunächst mit dem folgenden Befehl, ob das Dienstprogramm wget bereits in Ihrer Linux-Box installiert ist oder nicht.

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

Installieren Sie Wget unter Linux

Wenn Wget nicht installiert ist, können Sie es wie gezeigt mit dem Standardpaketmanager Ihres Linux-Systems installieren.

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]    

Die hier verwendete Option -y dient dazu, Bestätigungsaufforderungen vor der Installation eines Pakets zu verhindern. Weitere Beispiele und Optionen für YUM- und APT-Befehle finden Sie in unseren Artikeln zu:

  • 20 Linux YUM-Befehle für die Paketverwaltung
  • 15 APT-Befehlsbeispiele in Ubuntu/Debian und Mint
  • 45 Zypper-Befehlsbeispiele zur Verwaltung von OpenSUSE Linux

1. Laden Sie eine Datei mit Wget herunter

Der Befehl lädt eine einzelne Datei herunter und speichert sie in einem aktuellen Verzeichnis. Außerdem werden der Download-Fortschritt, die Größe, das Datum und die Uhrzeit während des Downloads angezeigt.

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-Datei mit einem anderen Namen

Mit der Option -O (Großbuchstaben) werden Dateien mit unterschiedlichen Dateinamen heruntergeladen. Hier haben wir den Dateinamen wget.zip wie unten gezeigt angegeben.

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 Laden Sie mehrere Dateien mit dem HTTP- und FTP-Protokoll herunter

Hier sehen wir, wie man mit dem Befehl wget mehrere Dateien gleichzeitig über das HTTP- und FTP-Protokoll herunterlädt.

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 lädt mehrere Dateien aus einer Datei herunter

Um mehrere Dateien gleichzeitig herunterzuladen, verwenden Sie die Option -i mit dem Speicherort der Datei, die die Liste der herunterzuladenden URLs enthält. Jede URL muss wie gezeigt in einer separaten Zeile hinzugefügt werden.

Beispielsweise enthält die folgende Datei „download-linux.txt“ die Liste der herunterzuladenden URLs.

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

Wenn Ihre URL-Liste ein bestimmtes Nummerierungsmuster aufweist, können Sie geschweifte Klammern hinzufügen, um alle URLs abzurufen, die dem Muster entsprechen. Wenn Sie beispielsweise eine Reihe von Linux-Kerneln von Version 5.1.1 bis 5.1.15 herunterladen möchten, können Sie wie folgt vorgehen.

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 Unvollständiger Download

Beim Herunterladen großer Dateien kann es manchmal vorkommen, dass der Download angehalten wird. In diesem Fall können wir mit der Option -c den Download derselben Datei an der Stelle fortsetzen, an der er unterbrochen wurde.

Wenn Sie jedoch mit dem Herunterladen von Dateien beginnen, ohne -c anzugeben, fügt die Option wget am Ende der Datei die Erweiterung .1 hinzu, die als neu betrachtet wird herunterladen. Daher empfiehlt es sich, beim Herunterladen großer Dateien den Schalter -c hinzuzufügen.

# 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 gesamte Website

Um eine gesamte Website für die Offline-Anzeige herunterzuladen, zu spiegeln oder zu kopieren, können Sie den folgenden Befehl verwenden, der eine lokale Kopie der Website zusammen mit allen Assets (JavaScript, CSS, Bilder) erstellt.

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

Erläuterung des obigen Befehls.

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 Download-Dateien im Hintergrund

Mit der Option -b können Sie einen Download im Hintergrund senden, unmittelbar nachdem der Download gestartet wurde und Protokolle in die Datei wget.log geschrieben werden.

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 Geschwindigkeitsbegrenzungen für Dateidownloads festlegen

Mit der Option --limit-rate=100k wird die Downloadgeschwindigkeit auf 100.000 begrenzt und die Protokolle werden wie unten gezeigt unter wget.log erstellt.

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

Sehen Sie sich die Datei wget.log an und überprüfen Sie die Download-Geschwindigkeit des 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 lädt passwortgeschützte Dateien über FTP und HTTP herunter

Um eine Datei von einem passwortgeschützten FTP-Server herunterzuladen, können Sie wie gezeigt die Optionen --ftp-user=username und --ftp-password=password verwenden.

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

Um eine Datei von einem passwortgeschützten HTTP-Server herunterzuladen, können Sie wie gezeigt die Optionen --http-user=username und --http-password=password verwenden.

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

10. Wget SSL-Zertifikatprüfung ignorieren

Um die Prüfung des SSL-Zertifikats beim Herunterladen von Dateien über HTTPS zu ignorieren, können Sie die Option --no-check-certificate verwenden:

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-Version und Hilfe

Mit den Optionen --version und --help können Sie bei Bedarf die Version und Hilfe anzeigen.

wget --version
wget --help

In diesem Artikel haben wir Linux-wget-Befehle mit Optionen für tägliche Verwaltungsaufgaben behandelt. Do man wget, wenn Sie mehr darüber erfahren möchten? Bitte teilen Sie uns dies über unser Kommentarfeld mit oder lassen Sie es uns wissen, wenn wir etwas verpasst haben.