GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-wget-Befehl mit Beispielen erklärt

Das Linux-Wget-Befehlszeilentool ist ein raffiniertes Dienstprogramm zum Herunterladen von Dateien über das Internet. Es wird normalerweise verwendet, wenn Sie Tarball- und gezippte Dateien, Deb- und RPM-Pakete von einer Website herunterladen möchten.

Mit dem Befehl wget können Sie eine Datei über HTTP-, HTTPS- oder sogar FTP-Protokolle herunterladen. Eine Reihe von Optionen, die Sie zusammen mit dem wget-Befehl verwenden können, machen ihn leistungsfähig.

In diesem Tutorial sehen wir uns anhand von Beispielen an, wie der GNU-Befehl wget verwendet wird.

Syntax von wget

Die Syntax für die Verwendung von wget ist recht einfach. Rufen Sie einfach den wget-Befehl auf, gefolgt von den Optionen und danach dem Website-Link wie gezeigt.

$ wget [ options ] url

wget installieren

Die meisten modernen Linux-Distributionen werden mit dem Dienstprogramm wget ausgeliefert, sodass Sie es nicht installieren müssen. Es gibt jedoch einige Fälle, in denen eine Installation erforderlich sein kann, insbesondere in älteren Systemen und einigen Cloud-Instanzen oder um die Fehlermeldung „–bash:wget:Command not found“ zu beheben.

Führen Sie für Ubuntu- und Debian-Varianten den folgenden Befehl mit dem APT-Paketmanager aus:

$ sudo apt-get install wget

Um den wget-Befehl in RHEL/CentOS 8-Varianten zu installieren, führen Sie Folgendes aus:

$ sudo dnf install wget

Verwenden Sie für ältere Versionen (RHEL 7 und CentOS 7 und früher) den Yum-Paketmanager wie folgt

$ sudo yum install wget

Verwenden Sie für Arch Linux und Arch Linux-Distributionen wie Manjaro, Arch Linux und Endeavour OS den Pacman-Paketmanager wie folgt:

$ sudo pacman -S wget

Laden Sie eine Datei aus dem Internet herunter

In seiner einfachsten Form lädt der Befehl wget ohne Verwendung von Optionen eine Datei aus dem Internet herunter, wie in der URL angegeben. Die einfachste Syntax ist unten dargestellt:

$ wget website_url

Im Beispiel unten laden wir beispielsweise den neuesten WordPress-Tarball von der offiziellen WordPress-Site herunter.

$ wget https://wordpress.org/latest.tar.gz

Aus der Ausgabe können wir sehen, dass wget zuerst die Domain der Website in eine IP-Adresse auflöst, woraufhin es sich mit dem Server verbindet und danach die Dateiübertragung initiiert. Wenn der Download läuft, sehen Sie den Fortschrittsbalken, der den Dateinamen, die Größe, die Download-Geschwindigkeit sowie die geschätzte Zeit bis zum Abschluss des Downloads anzeigt.

Stellen Sie nach Abschluss des Downloads sicher, dass Sie die Datei in Ihrem aktuellen Arbeitsverzeichnis finden. Dies kann durch Aufrufen des Befehls ls überprüft werden.

Datei herunterladen und unter einem bestimmten Namen speichern

Wenn Sie die Datei lieber unter einem anderen als dem ursprünglichen Namen speichern möchten, übergeben Sie einfach das -O Option gefolgt von Ihrem bevorzugten Namen.

$ wget -O wordpress.tar.gz https://wordpress.org/latest.tar.gz

Der obige Befehl lädt die Originaldatei „latest.tar.gz“ von der WordPress-Site herunter und speichert sie als „wordpress.tar.gz“.

In ein bestimmtes Verzeichnis herunterladen

Wie bereits erwähnt, lädt wget die Datei in Ihr aktuelles Arbeitsverzeichnis herunter. Mit -P können Sie einen anderen Download-Ort angeben Flag gefolgt vom Pfad zum Zielverzeichnis.

$ wget -P /var/www/html https://wordpress.org/latest.tar.gz

Im obigen Beispiel wird die Datei im Verzeichnis /var/www/html gespeichert.

Downloadgeschwindigkeit begrenzen

Mit wget können Sie auch die Geschwindigkeit begrenzen, mit der Dateien heruntergeladen werden. Um die Downloadgeschwindigkeit zu begrenzen, rufen Sie --limit-rate auf Option, gefolgt von der Download-Geschwindigkeit. Die Geschwindigkeit wird normalerweise in Bytes pro Sekunde gemessen.

Führen Sie den folgenden Befehl aus, um die Grenzrate auf 500 KB/s einzustellen:

$ wget --limit-rate=500k https://wordpress.org/latest.tar.gz

So erhalten Sie weiterhin eine teilweise heruntergeladene Datei

Manchmal kann Ihre Verbindung während eines Dateidownloads plötzlich abbrechen und Sie mit einer teilweise heruntergeladenen Datei zurücklassen. Anstatt den Download neu zu starten, verwenden Sie wget -C Option, um den Download wie gezeigt fortzusetzen.

$ wget -c https://wordpress.org/latest.tar.gz

Im obigen Beispiel nehmen wir den Dateidownload der Tarball-Datei von WordPress wieder auf. Beachten Sie, dass, wenn die Website nicht auf die Wiederaufnahme des Dateidownloads reagiert, der Befehl den Download der Datei neu startet und die vorhandene überschreibt.

Datei im Hintergrund herunterladen

Um eine Datei im Hintergrund herunterzuladen, übergeben Sie das wget -b Option wie unten gezeigt.

$ wget -b https://osdn.net/projects/manjaro/storage/kde/20.0.3/manjaro-kde-20.0.3-200606-linux56.iso

Im obigen Beispiel laden wir die Manjaro KDE Plasma ISO-Datei im Hintergrund herunter. Um den Status des Downloads zu überwachen, verwenden Sie den Befehl wget log wie gezeigt

$ tail –f wget –log

Mehrere Dateien herunterladen

Wenn Sie mehrere Dateien herunterladen müssen, ist es umständlich, den Befehl wget wiederholt auf dem Terminal auszuführen. Ein besserer Ansatz wäre, den wget-Befehl einmal auszuführen, um die Dateien nacheinander herunterzuladen.

Speichern Sie dazu die Website-URLs in einer Textdatei. Rufen Sie danach den Befehl wget mit dem -i auf Option gefolgt vom Namen der Textdatei.

In diesem Beispiel möchten wir die WordPress-Tarball-Datei und die gezippte OwnCloud-Datei herunterladen. Zuerst haben wir die Download-Links in einer Beispieldatei gespeichert, nennen wir sie „downloads.txt“:

https://wordpress.org/latest.tar.gz
https://download.owncloud.org/community/owncloud-complete-20200731.zip

Um nun mehrere Dateien herunterzuladen, führen Sie Folgendes aus:

$ wget -i downloads.txt

Diese werden nacheinander heruntergeladen. Und so laden Sie mehrere Dateien herunter.

Laden Sie einen Spiegel einer Website herunter

Eine weitere nicht allgemein bekannte Verwendung von wget ist die Möglichkeit, eine Website zu klonen oder eine Spiegelkopie zu erstellen. Sie können dies erreichen, indem Sie den -m übergeben Option wie abgebildet. Dadurch wird eine Spiegelkopie der Website zusammen mit allen internen Links und anderen Ressourcen wie Bildern, Widgets, Javascript- und CSS-Dateien erstellt.

$ wget -m http://www.example.com

Wenn Sie beabsichtigen, eine Website für lokales Surfen zu klonen, übergeben Sie zusätzliche Argumente wie gezeigt.

$ wget -m -k -p http://www.example.com

Das -k flag erleichtert die Konvertierung des Links in ein Format, das für die lokale Anzeige geeignet ist. Inzwischen ist das -p Die Option weist das Dienstprogramm wget an, relevante Dateien herunterzuladen, die zum Anzeigen von Inhalten auf einer HTML-Seite in einem Browser benötigt werden.

SSL-Zertifikat ignorieren

Um zu vermeiden, dass beim Herunterladen einer Datei über HTTPS von einem Webserver, dessen SSL-Zertifikat nicht vertrauenswürdig oder gültig ist, ein Fehler auftritt, übergeben Sie --no-check-certificate Möglichkeit:

$ wget --no-check-certificate https://domain-with-untrusted-ssl-cert

Ausgabe herunterladen und in Protokolldatei umleiten

Die Ausgabe des Befehls wget kann während des Dateidownloads mit -o protokolliert werden Option wie gezeigt:

$ wget -o download.log https://wordpress.org/latest.tar.gz

Danach können Sie die Protokolldatei in Echtzeit anzeigen, während der Download fortschreitet, indem Sie den tail-Befehl wie gezeigt verwenden:

$ tail -f download.log

Download-Wiederholungen begrenzen

Manchmal kann es zu langsamen Bandbreitengeschwindigkeiten kommen, die Sie möglicherweise daran hindern, eine Datei herunterzuladen. Sie können die Anzahl der Download-Wiederholungen mit wget --tries=[no. of tries] Option wie gezeigt:

$ wget --tries=10 https://wordpress.org/latest.tar.gz

Im obigen Beispiel wird get den Download der Tarball-Datei 10 Mal wiederholen, bevor es beendet wird.

Download vom FTP-Server

Sie können eine Datei auch von einem FTP-Server herunterladen, selbst wenn sie passwortgeschützt ist. Alles, was Sie tun müssen, ist, den FTP-Benutzernamen und das Passwort im wget-Befehl wie gezeigt zu übergeben:

$ wget --ftp-user=[ftp_user] --ftp-password=[ftp_password] ftp://ftp.ftp-site.com

Wget User Agent ändern

Ein User Agent ist im Wesentlichen ein Header-Feld, das von einem Browser an einen Webserver gesendet wird. Wenn Sie eine Webseite herunterladen, emuliert wget einen Webbrowser. Es kommt vor, dass Sie manchmal eine Fehlermeldung erhalten, die darauf hinweist, dass Sie nicht über ausreichende Berechtigungen für den Zugriff auf den Server verfügen. In diesem Fall blockiert die Website oder der Webserver möglicherweise den Browser, der mit einem bestimmten „User-Agent“ verknüpft ist. Hier ist eine Datenbank der Benutzeragenten, die Sie finden können.

Um den Benutzeragenten zu ändern, verwenden Sie die Syntax:

$ wget -U "user agent" URL

Um beispielsweise die Website example.com herunterzuladen und dabei Google Chrome Version 74 zu emulieren – dies ist die neueste Version – verwenden Sie:

$ wget -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" "http://example.com"

Rekursiver Download

Um eine Website für die lokale Anzeige herunterzuladen, müssen Sie rekursive Downloads mit -r aktivieren oder --recursive Option und die Links werden mit -k in lokale Links umgewandelt oder --convert-links Option.

Zum Beispiel:

$ wget -rk https://example.com

Schlussfolgerung

Wie Sie bemerkt haben, ist wget ein so leistungsstarkes und flexibles Tool, mit dem Sie Dateien aus dem Internet abrufen können. In diesem Tutorial habe ich Ihnen verschiedene Möglichkeiten gezeigt, wie Sie wget verwenden können und wie Sie Dateien und Webseiten von Webservern über http, https und ftp herunterladen können. Weitere Informationen zur Verwendung des wget-Befehls finden Sie auf den Manpages.


Linux
  1. Befehl zum Herunterfahren von Linux mit Beispielen erklärt

  2. nslookup Linux-Befehl mit Beispielen erklärt

  3. Linux Traceroute-Befehl, erklärt mit Beispielen

  4. JQ-Befehl in Linux mit Beispielen

  5. wget-Befehlsbeispiele unter Linux

Linux more Befehl mit Beispielen erklärt

Tr-Befehl in Linux mit Beispielen erklärt

w Befehl mit Beispielen in Linux erklärt

Linux wget-Befehl mit Beispielen

Linux tee-Befehl erklärt (mit Beispielen)

Linux csplit Befehl erklärt (mit Beispielen)