Dateien mit Wget auf der Linux-Shell herunterladen – Erklärung und Beispiele
Bist du ein Linux-Neuling und suchst nach einem Kommandozeilenprogramm, mit dem du Dateien aus dem Internet herunterladen kannst? Wenn deine Antwort auf diese beiden Fragen „Ja“ lautet, dann bist du hier genau richtig, denn in diesem Lernprogramm werden wir die grundlegende Verwendung des WGET-Kommandozeilenprogramms besprechen.
Über wget
Wget ist ein Kommandozeilenprogramm, das den nicht-interaktiven Download von Dateien aus dem Internet ermöglicht. Nicht-interaktiv bedeutet, dass das Dienstprogramm im Hintergrund arbeiten kann, während der Benutzer nicht angemeldet ist. Unterstützte Protokolle sind HTTP, HTTPS und FTP.
Wget ermöglicht auch den Abruf über HTTP-Proxys und „kann Links in HTML-, XHTML- und CSS-Seiten folgen, um lokale Versionen von entfernten Websites zu erstellen und die Verzeichnisstruktur der ursprünglichen Website vollständig wiederherzustellen“.
Wie funktioniert wget?
Die folgenden Abschnitte erklären die grundlegende Verwendung des Wget-Tools und einige seiner Funktionen.
1. Wie man eine Datei mit wget herunterlädt
Die Datei, die das Tool herunterlädt, wird im aktuellen Arbeitsverzeichnis des Benutzers gespeichert, so können Sie mit Wget eine Datei herunterladen:
wget [URL]
Hier ist ein Beispiel-Screenshot:
2. So setzen Sie Ihre Downloads mit wget fort
Falls Ihr laufender Download aufgrund einer schlechten Internetverbindung oder aus anderen Gründen unterbrochen wird, können Sie ihn wieder aufnehmen, indem Sie den gleichen Befehl erneut ausführen, aber mit der Befehlszeilenoption -c:
wget -c [URL]
Hier ist ein Beispiel-Screenshot (siehe den zweiten Befehl):
Sie können also sehen, dass, wenn der Befehl wget zum zweiten Mal mit der Option -c ausgeführt wurde, der Download an der gleichen Stelle begann, an der er gestoppt wurde. Beachten Sie, dass diese Option auch funktioniert, wenn Sie einen Download beenden möchten, der von einem anderen Programm als wget gestartet wurde.
3. So laden Sie eine Datei mit einem anderen Dateinamen herunter
Standardmäßig speichert wget die Datei unter dem gleichen Namen, den sie im Web trägt. Wenn Sie möchten, können Sie die heruntergeladene Datei aber auch unter einem anderen Dateinamen speichern. Auf diese Funktion kann über die Befehlszeilenoption -O (Großbuchstaben) zugegriffen werden.
$ wget -O [file-name] [URL]
Hier ist ein Beispiel-Screenshot:
4. So leiten Sie Ihre wget-Ausgabe in eine Protokolldatei um
Wenn Sie möchten, können Sie die Nachrichten/Informationen, die wget beim stdout produziert, auch in eine Protokolldatei umleiten. Dies kann mit der Kommandozeilenoption -o (Kleinbuchstaben) erfolgen.
$ wget -o [log-filename] [URL]
Hier ist ein Beispiel-Schnappschuss:
Wie Sie im obigen Screenshot sehen können, werden auf der Standardausgabe keine Ausgaben oder Meldungen angezeigt. Dies liegt daran, dass alle Meldungen in eine Protokolldatei namens abc.log umgeleitet werden.
Sie können die Protokolldatei mit dem Befehl cat einsehen.
$ cat abc.log
Hier ist, was die Protokolldatei in unserem Fall enthielt:
5. Wie man wget Download-Dateien im Hintergrund macht
Mit dem Tool können Sie Dateien im Hintergrund herunterladen. Die heruntergeladene Datei wird unter dem Namen’wget-log‘ gespeichert, auf diese Funktion kann über die Befehlszeilenoption -b zugegriffen werden.
$ wget -b [URL]
Hier ist ein Beispiel:
Beachten Sie, dass Sie den Dateinamen mit der Option -o (Kleinbuchstaben) ändern können, die wir bereits erläutert haben.
6. So begrenzen Sie die Download-Geschwindigkeit bei Verwendung von wget
Während Sie wget verwenden, können Sie auch die Download-Geschwindigkeit begrenzen. Dies kann mit der Option -limit-rate geschehen, die einen Wert erfordert, der den Betrag in Form von Bytes pro Sekunde angibt. Die Menge kann in Bytes, Kilobytes mit dem Suffix „k“ oder Megabyte mit dem Suffix „m“ angegeben werden.
$ wget –limit-rate=[amount] [URL]
Hier ist ein Beispiel, das die Download-Geschwindigkeit von wget auf 50k begrenzt:
7. Wie man den Timeout für das Lesen von wget ändert
Read Timeout ist die Zeitspanne (in Sekunden), in der wget nach Daten sucht (falls keine Daten empfangen werden), bevor der Download neu gestartet wird. Standardmäßig beträgt der Lese-Timeout 900 Sekunden, aber Sie können dies mit der Option -read-timeout ändern.
$ wget –read-timeout=[time in seconds] [URL]
Hier ist ein Beispiel:
8. So ändern Sie die Anzahl der Wiederholungen
Wann immer Ihr Download aufgrund einer schlechten Internetverbindung oder eines anderen Fehlers unterbrochen wird, versucht das Tool, den Download selbst fortzusetzen. Standardmäßig versucht das Dienstprogramm 20 Mal und stoppt dann. Wenn Sie jedoch die Anzahl der Versuche erhöhen oder verringern möchten, können Sie dies mit der Befehlszeilenoption -t tun.
$ wget -t [no.-of-retries-you want] [URL]
Hier ist ein Beispiel:
Wie du im obigen Screenshot sehen kannst, hat wget nach zwei Versuchen aufgegeben.
HINWEIS: Diese Funktion kommt mit Ausnahme von schwerwiegenden Fehlern wie „Verbindung abgelehnt“ oder „nicht gefunden“ (404), die nicht erneut getestet werden.
9. Wie man wget dazu bringt, Debug-Informationen anzuzeigen.
Wenn Sie möchten, können Sie auch den Befehl wget verwenden, um zusätzliche Informationen zum Downloadvorgang anzuzeigen. Diese Informationen sind nützlich für Debugging-Zwecke, wenn das Tool nicht ordnungsgemäß funktioniert. Auf die Funktion kann über die Befehlszeilenoption –debug oder -d zugegriffen werden.
$ wget –debug [URL]
Hier ist ein Beispiel:
10. Wie man den Download-Fortschrittsmesser von wget ändert
Wenn Sie möchten, können Sie auch die Download-Fortschrittsanzeige ändern, die wget in der Ausgabe anzeigt. Es gibt zwei Arten von Fortschrittsanzeigen: Balken (Standard) und Punkt. Wenn der Ausgang jedoch nicht auf dem Terminal (TTY) angezeigt wird, wird standardmäßig die Punktanzeige verwendet.
Mit der Option –Fortschritt können Sie die Art des Kennzeichens wählen, falls Sie das Standardverhalten überschreiben möchten. Zum Beispiel:
$ wget --progress=dot [URL]
Hier ist ein Beispiel-Screenshot:
Je nach Größe der Datei, die Sie herunterladen, können Sie auch die Anzeige des Download-Fortschritts anpassen.
$ wget –progress=[type]:[parameter]
Typ‘ kann bar oder dot sein, während Parameter‘ default, binary, mega oder giga sein kann.
Wenn Sie beispielsweise Ihren’Typ‘ als Punkt und’Parameter‘ als Binärwert festlegen möchten, können Sie den folgenden Befehl verwenden:
$ wget –progress=dot:binary [URL]
Hier ist ein Beispiel:
Beachten Sie, dass der von Ihnen gewählte Parameter (binär, mega oder giga) in der Regel von der Größe der heruntergeladenen Datei abhängt. Hier ist, was die Man Page über diese Styles sagt:
With the "default" style each dot represents 1K, there are ten dots in a cluster and 50 dots in a line. The "binary" style has a more "computer"-like orientation---8K dots, 16-dots clusters and 48 dots per line (which makes for 384K lines). The "mega" style is suitable for downloading large files---each dot represents 64K retrieved, there are eight dots in a cluster, and 48 dots on each line (so each line contains 3M). If "mega" is not enough then you can use the "giga" style---each dot represents 1M retrieved, there are eight dots in a cluster, and 32 dots on each line (so each line contains 32M).
Fazit
Wir haben hier gerade die Oberfläche zerkratzt, da wget viele weitere Befehlszeilenoptionen anbietet. Diejenigen, die wir hier besprochen haben, sollten jedoch ausreichen, um Ihnen den Einstieg zu erleichtern. Probieren Sie diese aus und lesen Sie im Zweifelsfall die Manualseite des Befehls.