Website-Suche

10 wget (Linux File Downloader) Befehlsbeispiele unter Linux


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

Wget ist ein kostenloses Befehlszeilenprogramm und ein Netzwerk-Datei-Downloader, der mit vielen Funktionen ausgestattet ist, 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 auf einmal herunter.
  • Legen Sie ein Bandbreiten- und Geschwindigkeitslimit für Downloads fest.
  • Laden Sie Dateien über Proxys herunter.
  • Kann abgebrochene Downloads fortsetzen.
  • Rekursives Spiegeln von Verzeichnissen.
  • Läuft auf den meisten UNIX-ähnlichen Betriebssystemen sowie Windows.
  • Unbeaufsichtigter/Hintergrundbetrieb.
  • Unterstützung für persistente HTTP-Verbindungen.
  • Unterstützung für SSL/TLS für verschlüsselte Downloads unter Verwendung der OpenSSL- oder GnuTLS-Bibliothek.
  • Unterstützung für IPv4- und IPv6-Downloads.

Syntax des Befehls wget

Die grundlegende Syntax von Wget lautet:

$ wget [option] [URL]

Überprüfen Sie zunächst, ob das Dienstprogramm wget bereits auf Ihrem Linux-Rechner installiert ist oder nicht, indem Sie den folgenden Befehl verwenden.

$ 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 mit dem Standard-Paketmanager Ihres Linux-Systems installieren, wie gezeigt.

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

  • 20 Linux-YUM-Befehle für die Paketverwaltung
  • 15 Beispiele für APT-Befehle in Ubuntu/Debian & 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 wget.zip Dateinamen gegeben, wie unten gezeigt.

# 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 HTTP- und FTP-Protokoll herunter

Hier sehen wir, wie Sie mehrere Dateien über das HTTP- und FTP-Protokoll mit dem wget-Befehl gleichzeitig herunterladen.

$ 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 Laden Sie mehrere Dateien aus einer Datei herunter

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

Die folgende Datei "download-linux.txt" enthält beispielsweise die Liste der URLs, die heruntergeladen werden sollen.

# 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-Kernels ab 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 unvollendeten Download

Im Falle eines Downloads großer Dateien kann es manchmal vorkommen, dass der Download gestoppt wird, in diesem Fall können wir den Download derselben Datei an der Stelle fortsetzen, an der sie mit der Option -c unterbrochen wurde.

Wenn Sie jedoch mit dem Herunterladen von Dateien beginnen, ohne -c anzugeben, fügt eine Option wget die Erweiterung .1 am Ende der Datei hinzu, die als neuer Download betrachtet wird. Es empfiehlt sich also, den Schalter -c hinzuzufügen, wenn Sie große Dateien herunterladen.

# 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

Erklärung 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 Dateien im Hintergrund herunterladen

Mit der Option -b können Sie sofort nach dem Start des Downloads einen Download im Hintergrund senden und Protokolle werden in die wget.log Datei geschrieben.

$ 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 legt Geschwindigkeitsbegrenzungen für Dateidownloads fest

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

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

Zeigen Sie die wget.log Datei 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 Laden Sie passwortgeschützte Dateien über FTP und HTTP herunter

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

$ 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 die Optionen --http-user=username und --http-password=password verwenden, wie gezeigt.

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

10. Wget Ignorieren Sie die SSL-Zertifikatsprüfung

Um die SSL-Zertifikatsprüfung 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 die Version und die Hilfe nach Bedarf anzeigen.

$ wget --version
wget --help

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

Verwandte Artikel: