Einführung
Der Wget-Befehl ist ein Linux-Befehlszeilendienstprogramm, das uns hilft, die Dateien aus dem Internet herunterzuladen. Wir können die Dateien von Webservern mit HTTP-, HTTPS- und FTP-Protokollen herunterladen. Wir können wget in Skripten und Cronjobs verwenden.
Nicht interaktiv bedeutet hier, dass es im Hintergrund arbeiten kann, während der Benutzer nicht angemeldet ist. Wenn wir die minimale Installation von Linux-Distributionen durchführen, wird der Befehl wget nicht installiert. Um also wget auf Linux-Distributionen zu installieren, führen Sie
aus$ sudo yum install -y wget for CentOS 7 / RHEL 7
$ sudo dnf install -y wget for CentOS 8/ RHEL 8/ Rocky Linux 8
$ sudo apt install -y wget for Ubuntu / Debian
$ sudo pacman -S wget for Arch Linux
$ sudo zypper install wget for OpenSUSE
Herunterladen einer einzelnen Datei mit wget
[unixcop@rhel-pc ~]$ wget https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
--2021-08-13 04:24:05-- https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.91.124, 91.189.91.123, 2001:67c:1562::28, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.91.124|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2877227008 (2.7G) [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.2.0-desktop-amd64.iso’
ubuntu-20.04.2.0-desktop-amd64.iso 47%[======= ] 4.3G 2.13M/s eta 1h 02m
Dieser Befehl lädt die Ubuntu-ISO-Datei in das aktuelle Arbeitsverzeichnis des Benutzers herunter.
Teilweise heruntergeladene Datei fortsetzen
Mit der Option ‚-c‘ im wget-Befehl können wir unseren Download dort fortsetzen, wo er getrennt wurde.
[unixcop@rhel-pc ~]$ wget -c https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
Dateien im Hintergrund herunterladen
Verwenden Sie die Option „-b“ im wget-Befehl, um Dateien im Hintergrund herunterzuladen
[unixcop@rhel-pc ~]$ wget -b https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
Continuing in background, pid 2412.
Output will be written to ‘wget-log’.
[unixcop@rhel-pc ~]$
Verwenden Sie auch den Befehl tail, um den Status des Downloads anzuzeigen.
[unixcop@rhel-pc ~]$ tail -f wget-log
2700K .......... .......... .......... .......... .......... 0% 85.8K 16h41m
2750K .......... .......... .......... .......... .......... 0% 90.0K 16h32m
2800K .......... .......... .......... .......... .......... 0% 78.8K 16h25m
2850K .......... .......... .......... .......... .......... 0% 189K 16h13m
2900K .......... .......... .......... .......... .......... 0% 92.4K 16h5m
2950K .......... .......... .......... .......... .......... 0% 89.7K 15h57m
3000K .......... .......... .......... .......... .......... 0% 92.8K 15h50m
3050K .......... .......... .......... .......... .......... 0% 177K 15h39m
3100K .......... .......... .......... .......... .......... 0% 91.2K 15h32m
3150K .......... .......... .......... .......... .......... 0% 96.0K 15h25m
3200K .......... .......... .......... .......... .......... 0% 79.6K 15h20m
3250K .......... .......... .......... .......... .......... 0% 199K 15h9m
3300K .......... .......... .......... .......... .......... 0% 97.7K 15h3m
3350K .......... .......... .......... .......... .......... 0% 94.6K 14h57m
3400K .......... .......... .......... .......... .......... 0% 95.8K 14h51m
3450K .......... .......... .......... .......... .......... 0% 96.0K 14h45m
3500K .......... .......... .......... .......... .......... 0% 102K 14h39m
3550K .......... .......... .......... .......... .......... 0% 153K 14h31m
3600K .......... .......... .......... .......... .......... 0% 62.1K 14h29m
3650K .......... .......... .......... .......... .......... 0% 109K 14h23m
3700K .......... .......... .......... .......... .......... 0% 83.1K 14h19m
3750K .......... .......... .......... .......... .......... 0% 118K 14h13m
3800K .......... .......... .......... .......... .......... 0% 104K 14h8m
3850K .......... .......... .......... .......... .......... 0% 112K 14h2m
etc..
Begrenzen Sie die Download-Geschwindigkeit beim Herunterladen der Dateien
Sie können die Download-Geschwindigkeit mit der Option „–limit-rate“ begrenzen.
[unixcop@rhel-pc ~]$ wget --limit-rate=350k https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
Wir haben das Download-Limit auf 350 KB festgelegt.
Mehrere Dateien herunterladen
Erstellen Sie zunächst eine Textdatei und fügen Sie alle URLs in dieser Textdatei wie unten gezeigt hinzu:
[unixcop@rhel-pc ~]$ cat wget-download-list.txt
http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
[unixcop@rhel-pc ~]$
Führen Sie nun :
aus[unixcop@rhel-pc ~]$ wget -i wget-download-list.txt
--2021-08-13 04:36:46-- http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
Resolving centos.mirror.server24.net (centos.mirror.server24.net)... 217.70.144.100, 2001:1a38:144::100
Connecting to centos.mirror.server24.net (centos.mirror.server24.net)|217.70.144.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9928966144 (9.2G) [application/octet-stream]
Saving to: ‘CentOS-8.4.2105-x86_64-dvd1.iso’
CentOS-8.4.2105-x86_64-dvd1.iso 4%[== ] 964M 1.9M/s eta 3h 44m
[unixcop@rhel-pc ~]$
Wiederholungsversuche in wget erhöhen
Wir können die Wiederholungsversuche mit der Option „–tries“ in wget erhöhen. Standardmäßig wiederholt der Befehl wget 20 Mal, um den Download erfolgreich abzuschließen.
# wget --tries=60 http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
Der obige Befehl lässt den Befehl wget maximal 60 Mal versuchen, die Datei herunterzuladen.
Wget-Befehlsausgabe in eine Datei umleiten
Wir können die Ausgabe mit der Option „-o“ wie unten gezeigt in eine Protokolldatei umleiten:
$ wget -o download_file.log http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
Sie können es mit
anzeigen# ls
# cat download_file.log
Spiegeln Sie eine komplette Website mit dem Befehl wget
Wir können das tun mit:
# wget --mirror -p --convert-links -P ./<Local-Folder> website-URL
Wo
- –Spiegel :Zum Spiegeln geeignete Optionen einschalten.
- –p :Laden Sie alle Dateien herunter, um eine bestimmte HTML-Seite richtig anzuzeigen.
- –convert-links :Konvertieren Sie die Links im Dokument für die lokale Anzeige.
- -P ./Local-Folder :speichert alle Dateien und Verzeichnisse im angegebenen Verzeichnis.
Dateitypen beim Herunterladen ablehnen
Wenn Sie vorhaben, die vollständige Website herunterzuladen, können wir den Befehl wget zwingen, pdf-Dateien nicht herunterzuladen, beispielsweise mit der Option „–reject“ .
# wget --reject=pdf <Website-To-Be-Downloaded>
Legen Sie das Download-Kontingent fest
Wget kann das Herunterladen beenden, wenn die Downloadgröße eine bestimmte Größe überschreitet. Verwenden Sie die Option „-Q“ im wget-Befehl, um das Download-Kontingent festzulegen.
# wget -Q14m -i wget-download-list.txt
Wget erlauben, die Dateien zu überschreiben
Wenn wir die Ausgabedatei mit der Option -o angeben, wird sie jede vorhandene Datei überschreiben.
wget -q http://www.example.com/filename.txt -O /path/filename.txt
Laden Sie eine Datei über den FTP-Server herunter
Wget verwendet das anonyme FTP, um die Dateien aus dem Internet herunterzuladen. Zum Herunterladen der Dateien sind keine FTP-Anmeldungen erforderlich.
# wget ftp://ftp.example.com/file.tar.gz
Herunterladen einer Datei von einer passwortgeschützten Website
# wget --ftp-user=<user-name> --ftp-password=<password> Download-URL
OR
# wget --user <user_name> --password <password> http://<url-path>/file_you_want_to_download
Eine andere Möglichkeit, Benutzername und Passwort anzugeben, ist in der URL selbst.
Laden Sie eine Datei von einer nicht vertrauenswürdigen sicheren URL herunter
Möchten Sie Dateien von https-Ports herunterladen und Zertifikatsprüfungen überspringen?
so kann dies mit der Option „–no-check-certificate“
erreicht werden# wget https://example.com/file.tar.gz –no-check-certificate
Beispiel :Oracle Java vom https-Portal herunterladen und Zertifikatsprüfungen überspringen
# wget --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.1+12/69cfe15208a647278a19ef0990eea691/jdk-12.0.1_linux-x64_bin.rpm --no-check-certificate
Herunterladen von Dateien über Proxy
Zuerst müssen wir den Proxy einstellen und dann können wir die Datei aus dem Internet herunterladen. Verwenden Sie zum Festlegen des Proxys in der Befehlszeile die folgenden Variablen und den Exportbefehl
# export http_proxy=http://<Your-Proxy-IP>:<Proxy-Port>
# export https_proxy=http://<Your-Proxy-IP>:<Proxy-Port>
# export ftp_proxy=http://<Your-Proxy-IP>:<Proxy-Port>
Falls Benutzername und Passwort für den Proxy erforderlich sind, verwenden Sie :
# export http_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port>
# export https_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port>
# export ftp_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port>
Überprüfen Sie die Version von wget
Wir können die Version des Wget-Befehls wie folgt überprüfen
# wget –version
Schlussfolgerung
Wget hat eine riesige Anzahl von Optionen, wir haben viele davon abgedeckt.
Übrigens finden wir weitere Optionen auf der Handbuchseite.
# man wget