Der Wget-Befehl in Linux wird verwendet, um Dateien aus dem Internet mit den Protokollen HTTP, HTTPS und FTP herunterzuladen. Mit anderen Worten, wir können sagen, dass wget ein nicht interaktives Befehlszeilen-Downloader-Tool für Linux-Systeme ist. Es unterstützt auch das Herunterladen von Dateien über HTTP-Proxys.
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 // CentOS 7 / RHEL 7 $ sudo dnf install -y wget // CentOS 8/ RHEL 8/ Rocky Linux 8 $ sudo apt install -y wget // Ubuntu / Debian $ sudo pacman -S wget // Arch Linux $ sudo zypper install wget // OpenSUSE
In diesem Tutorial behandeln wir 12 nützliche wget-Befehlsbeispiele. Diese Beispiele helfen Ihnen dabei, den Befehl wget wie ein Profi zu verwenden. Tauchen wir also tief in die Beispiele ein.
1) Herunterladen einer einzelnen Datei mit wget
Um eine Datei mit dem Befehl wget herunterzuladen, geben Sie einfach den Befehl wget gefolgt vom absoluten Pfad der Datei ein, das Beispiel ist unten gezeigt:
$ wget https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
Dieser Befehl lädt die ISO-Datei von Rocky Linux 8 in das aktuelle Arbeitsverzeichnis des Benutzers herunter.
2) Teilweise heruntergeladene Datei fortsetzen (-c)
Es gibt einige Szenarien, in denen wir mit dem Herunterladen einer großen Datei beginnen, aber in der Mitte wurde die Internetverbindung getrennt, sodass wir mit der Option „-c“ im wget-Befehl unseren Download dort fortsetzen können, wo er getrennt wurde. Das Beispiel ist unten gezeigt,
$ wget -c https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
3) Dateien im Hintergrund herunterladen (-b)
Verwenden Sie die Option „-b“ im wget-Befehl, um Dateien im Hintergrund herunterzuladen. Diese Option ist sehr nützlich, wenn die Datei zu groß ist und Sie das Terminal für andere Aufgaben verwenden möchten.
$ wget -b https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso Continuing in background, pid 4505. Output will be written to ‘wget-log’.
Wie wir oben sehen können, wird der Download-Fortschritt in der Datei „wget-log“ im aktuellen Verzeichnis des Benutzers erfasst. Verwenden Sie den Befehl tail, um den Status des Downloads anzuzeigen.
$ tail -f wget-log 2300K .......... .......... .......... .......... .......... 0% 48.1K 18h5m 2350K .......... .......... .......... .......... .......... 0% 53.7K 18h9m 2400K .......... .......... .......... .......... .......... 0% 52.1K 18h13m 2450K .......... .......... .......... .......... .......... 0% 58.3K 18h14m 2500K .......... .......... .......... .......... .......... 0% 63.6K 18h14m 2550K .......... .......... .......... .......... .......... 0% 63.4K 18h13m 2600K .......... .......... .......... .......... .......... 0% 72.8K 18h10m 2650K .......... .......... .......... .......... .......... 0% 59.8K 18h11m 2700K .......... .......... .......... .......... .......... 0% 52.8K 18h14m 2750K .......... .......... .......... .......... .......... 0% 58.4K 18h15m 2800K .......... .......... .......... .......... .......... 0% 58.2K 18h16m 2850K .......... .......... .......... .......... .......... 0% 52.2K 18h20m
4) Begrenzung der Download-Geschwindigkeit im wget-Befehl
Standardmäßig versucht der Befehl wget, die volle Bandbreite zu nutzen, aber es kann vorkommen, dass Sie ein gemeinsam genutztes Internet verwenden. Wenn Sie also versuchen, große Dateien mit wget herunterzuladen, kann dies das Internet anderer Benutzer verlangsamen. Diese Situation kann vermieden werden, wenn Sie die Download-Geschwindigkeit mit der Option „–limit-rate“ begrenzen.
$ wget --limit-rate=100k https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso
Im obigen wget-Befehl haben wir das Download-Limit auf 100 KB festgelegt.
5) Mehrere Dateien mit wget herunterladen
Wenn Sie mehrere Dateien mit dem Befehl wget herunterladen möchten, erstellen Sie zunächst eine Textdatei und fügen Sie alle URLs in dieser Textdatei hinzu. Beispiel ist unten gezeigt:
$ cat download-list.txt https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso
Führen Sie nun den folgenden Befehl aus,
$ wget -i download-list.txt
Der obige wget-Befehl beginnt nacheinander mit dem Herunterladen der ISO-Dateien.
6) Erhöhen Sie die Wiederholungsversuche in wget
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.
Diese Option ist sehr nützlich, wenn Sie Probleme mit Ihrer Internetverbindung haben und eine große Datei herunterladen.
$ wget --tries=75 https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso
Der obige wget-Befehl wird maximal 75 Mal versuchen, die Datei herunterzuladen.
7) Ausgabe des wget-Befehls in eine Protokolldatei umleiten
Wir können die Ausgabe des wget-Befehls mit der Option „-o“ in eine Protokolldatei umleiten. Das Beispiel wird unten gezeigt,
$ wget -o download.log https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
download.log-Datei wird automatisch im aktuellen Verzeichnis des Benutzers erstellt.
8) Laden Sie die komplette Website zur lokalen Ansicht herunter
Mit dem Befehl wget können wir die komplette Website zur lokalen Anzeige herunterladen, die Syntax ist unten gezeigt,
$ wget --mirror -p --convert-links -P ./<Local-Folder> website-URL
Wo
- –mirror :Zum Spiegeln geeignete Optionen einschalten.
- -p :lädt alle Dateien herunter, die notwendig sind, um eine bestimmte HTML-Seite richtig anzuzeigen.
- –convert-links :Konvertiert nach dem Download die Links im Dokument für die lokale Anzeige.
- -P ./Local-Folder :speichert alle Dateien und Verzeichnisse im angegebenen Verzeichnis.
9) Dateitypen beim Herunterladen ablehnen
Wenn Sie vorhaben, die vollständige Website herunterzuladen, können wir den Befehl wget zwingen, keine Bilder mit ‘ herunterzuladen –ablehnen‘ Option .
$ wget --reject=png <Website-To-Be-Downloaded>
10) Einstellen der Download-Quote in wget
Wir können den Befehl wget zwingen, den Download zu beenden, wenn die Downloadgröße eine bestimmte Größe überschreitet. Verwenden Sie die Option „-Q“ im wget-Befehl, um das Download-Kontingent festzulegen.
$ wget -Q10m -i download-list.txt
Beachten Sie, dass sich das Kontingent niemals auf das Herunterladen einer einzelnen Datei auswirkt. Wenn Sie also wget -Q10m ftp://wuarchive.wustl.edu/ls-lR.gz angeben, werden alle ls-lR.gz heruntergeladen. Das Gleiche gilt auch, wenn mehrere URLs in der Befehlszeile angegeben werden. Das Kontingent funktioniert jedoch nur, wenn es rekursiv oder aus einer Eingabedatei abgerufen wird. Daher können Sie getrost „wget -Q10m -i download-list.txt“ eingeben. Der Download wird abgebrochen, wenn das Kontingent überschritten wird.
11) Datei von passwortgeschützter Seite herunterladen
wget-Befehle
$ wget --ftp-user=<user-name> --ftp-password=<password> Download-URL or $ wget --user <user_name> --password <password> http://<url-path>/file_to_be_downloaded
Eine andere Möglichkeit, Benutzernamen und Passwort anzugeben, ist in der URL selbst.
Beide Methoden verraten Ihr Passwort jedem, der sich die Mühe macht, „ps“ auszuführen. Um zu verhindern, dass die Passwörter eingesehen werden, speichern Sie sie in .wgetrc oder .netrc und stellen Sie sicher, dass Sie diese Dateien mit „chmod“ vor anderen Benutzern schützen. Wenn die Passwörter wirklich wichtig sind, lassen Sie sie nicht in diesen Dateien liegen oder bearbeiten Sie die Dateien und löschen Sie sie, nachdem wget den Download gestartet hat.
12) Datei herunterladen durch Überspringen der Zertifikatsprüfung
Es gibt einige Szenarien, in denen wir Dateien von https-Ports herunterladen und Zertifikatsprüfungen überspringen möchten, sodass dies durch die Verwendung der Option „–no-check-certificate“ im wget-Befehl erreicht werden kann,
$ wget https://about.gitlab.com/ --no-check-certificate
Herunterladen von Oracle Java mit dem Befehl wget vom https-Portal und Überspringen von Zertifikatsprüfungen
$ 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
Es gibt einige Situationen, in denen unser System hinter dem Proxy-Server läuft, also müssen wir in solchen Situationen zuerst den Proxy einstellen und dann können wir den Befehl wget verwenden, um Dateien aus dem Internet herunterzuladen. 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 erforderlich sind, damit der Proxy funktioniert, verwenden Sie Folgendes:
$ 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>
Zusätzliches Beispiel
Tar-Datei mit einem einzigen wget-Befehl herunterladen und extrahieren
Angenommen, wir möchten die neueste Version der WordPress-TAR-Datei herunterladen und sie in einem bestimmten Ordner wie /var/www/html extrahieren, um diese Aufgabe mit dem folgenden wget-Befehl auszuführen,
# wget -q -O - http://wordpress.org/latest.tar.gz | tar -xzf - --strip-components=1 -C /var/www/html
Das war alles aus diesem Tutorial. Ich hoffe, Sie fanden diese wget-Befehlsbeispiele sehr informativ. Bitte teilen Sie Ihr wertvolles Feedback und Ihre Kommentare im Kommentarbereich unten mit.