In diesem Artikel werden wir das Dienstprogramm wget überprüfen, das Dateien aus dem World Wide Web (WWW) mithilfe weit verbreiteter Protokolle wie HTTP, HTTPS, FTP und FTPS abruft.
Wget ist ein kostenloses Kommandozeilen-Dienstprogramm und Netzwerk-Datei-Downloader, das viele Funktionen bietet, die den Dateidownload erleichtern, einschließlich:
- Herunterladen großer Dateien oder Spiegeln kompletter Web- oder FTP-Sites.
- Herunterladen mehrerer Dateien auf einmal.
- Bandbreite und Geschwindigkeitsbegrenzung für Downloads festlegen.
- Dateien über Proxys herunterladen.
- Abgebrochene Downloads fortsetzen können.
- 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.
Inhaltsverzeichnis
Wget Befehlssyntax
Die grundlegende Syntax von Wget ist:
$ wget [option] [URL]
Zuerst überprüfen Sie, ob das wget-Dienstprogramm bereits in Ihrem Linux-System 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 auf Linux
Wenn Wget nicht installiert ist, können Sie es mit dem Standard-Paketmanager Ihres Linux-Systems installieren, wie unten 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ätigungsdialoge vor der Installation eines Pakets zu verhindern. Für weitere YUM– und APT-Befehlsbeispiele und Optionen lesen Sie unsere Artikel über:
- 20 Linux YUM-Befehle für das Paketmanagement
- 15 APT Befehlsbeispiele in Ubuntu/Debian & Mint
- 45 Zypper Befehlsbeispiele zur Verwaltung von OpenSUSE Linux
1. Eine Datei mit Wget herunterladen
Der Befehl lädt eine einzelne Datei herunter und speichert sie im aktuellen Verzeichnis. Es zeigt auch den Download-Fortschritt, Größe, Datum und Uhrzeit während des Downloads an.
# 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 Datei mit anderem Namen herunterladen
Mit der Option -O
(Großbuchstabe) 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 Mehrere Dateien mit HTTP- und FTP-Protokoll herunterladen
Hier sehen wir, wie man gleichzeitig mehrere Dateien mit dem Befehl wget unter Verwendung des HTTP– und FTP-Protokolls 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 Mehrere Dateien von einer Datei herunterladen
Um mehrere Dateien gleichzeitig herunterzuladen, verwenden Sie die Option -i
mit dem Speicherort der Datei, die die Liste der URLs enthält, die heruntergeladen werden sollen. Jede URL muss wie unten gezeigt auf einer separaten Zeile hinzugefügt werden.
Zum Beispiel enthält die folgende Datei ‚download-linux.txt‚ 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-Kerneln ab Version 5.1.1 bis 5.1.15 herunterladen möchten, können Sie Folgendes tun.
$ 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 Wiederaufnahme des unvollständigen Downloads
Im Falle eines Downloads großer Dateien kann es manchmal vorkommen, dass der Download abbricht. In diesem Fall können wir den Download an der Stelle fortsetzen, an der er unterbrochen wurde, mit der Option -c
.
Aber wenn Sie Dateien ohne Angabe der Option -c
herunterladen, fügt wget eine Erweiterung .1
am Ende der Datei hinzu, was als Neudownload betrachtet wird. Es ist daher ratsam, 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 Gesamte Website spiegeln
Um eine gesamte Website zum Offline-Betrachten herunterzuladen, zu klonen 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 einen Download sofort nach dem Start des Downloads in den Hintergrund verschieben und die Protokolle im wget.log -Datei 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 Datei-Downloads festlegen
Mit der Option --limit-rate=100k
wird die Download-Geschwindigkeitsbegrenzung auf 100k beschränkt und die Protokolle werden unter wget.log wie unten gezeigt 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 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 Passwortgeschützte Dateien über FTP und HTTP herunterladen
Um eine Datei von einem passwortgeschützten FTP-Server herunterzuladen, können Sie die Optionen --ftp-user=username
und --ftp-password=password
wie gezeigt 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 die Optionen --http-user=username
und --http-password=password
wie gezeigt verwenden.
$ wget --http-user=narad --http-password=password http://http.example.com/filename.tar.gz
10. Wget Ignoriere SSL-Zertifikatsüberprüfung
Um die Überprü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 Administrationsaufgaben behandelt. Möchten Sie mehr darüber erfahren? Sehen Sie sich die man-Seite von wget an oder teilen Sie uns durch unser Kommentarfeld mit, falls wir etwas übersehen haben.
Source:
https://www.tecmint.com/10-wget-command-examples-in-linux/