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.