Befehl wget: Einführung und Syntax
wget ist ein Befehlszeilentool, mit dem du Dateien über das HTTP-, HTTPS- und FTP-Protokoll von entfernten Servern herunterladen kannst. Es ist ein vielseitiges und weit verbreitetes Programm, das sowohl auf Linux- als auch auf Windows-Systemen verfügbar ist.
Grundlegende Syntax
Die Grundsyntax von wget lautet wie folgt:
wget [Optionen] <URL>
wobei:
-
[Optionen]
optionale Parameter sind, mit denen du das Download-Verhalten anpassen kannst -
<URL>
die Webadresse der Datei ist, die du herunterladen möchtest
Optionale Parameter
Du kannst verschiedene Optionen verwenden, um das Download-Verhalten von wget anzupassen, darunter:
-
-O <Dateiname>
: Legt den Dateinamen der heruntergeladenen Datei fest -
-c
: Setzt einen unterbrochenen Download fort -
-t <Anzahl>
: Legt die maximale Anzahl an Wiederholungsversuchen bei Verbindungsfehlern fest -
--progress=bar
: Zeigt eine Fortschrittsanzeige während des Downloads an
Verwendung
Um eine Datei mit wget herunterzuladen, öffne einfach ein Terminalfenster und gib den folgenden Befehl ein:
wget https://example.com/file.txt
Dadurch wird die Datei file.txt
von der URL https://example.com
heruntergeladen und im aktuellen Verzeichnis gespeichert. Du kannst auch eine der oben aufgeführten Optionen verwenden, um das Download-Verhalten anzupassen.
Verwendung von Optionen in wget: Fortschrittsanzeige, Dateinamen festlegen
Beim Herunterladen von Dateien mit wget kannst du eine Vielzahl von Optionen verwenden, um den Prozess auf deine Bedürfnisse anzupassen.
Fortschrittsanzeige aktivieren
Um eine Fortschrittsanzeige anzuzeigen, die Informationen zum Download-Status wie den Fortschritt in Prozent und die verbleibende Zeit anzeigt, verwende die Option --progress=bar
.
wget --progress=bar https://example.com/file.tar.gz
Dateinamen festlegen
Standardmäßig speichert wget die heruntergeladene Datei unter ihrem ursprünglichen Namen. Du kannst jedoch einen benutzerdefinierten Dateinamen mit der Option --output-document
festlegen.
wget --output-document=my_file.tar.gz https://example.com/file.tar.gz
Weitere nützliche Optionen
Neben Fortschrittsanzeige und Dateinamenfestlegung bietet wget weitere nützliche Optionen:
-
-c
: Setzt abgebrochene Downloads fort, anstatt neu zu beginnen. -
-nc
: Überspringt den Download, wenn die Datei bereits existiert. -
-q
: Deaktiviert die Ausgabe von Statusmeldungen. -
--tries
: Gibt die Anzahl der Wiederholungsversuche für fehlgeschlagene Downloads an.
Durch die Verwendung dieser Optionen kannst du deinen wget-Befehl anpassen und deine Downloads effizienter gestalten.
Dateien mit curl herunterladen: Alternativer Befehl zu wget
Neben wget ist curl ein weiterer vielseitiger Befehl zum Herunterladen von Dateien von URLs. Er bietet eine ähnliche Funktionalität wie wget und eignet sich besonders für die Arbeit mit HTTP-, HTTPS- und FTP-Protokollen.
Syntax
Die grundlegende Syntax von curl ist:
curl [Optionen] URL
Optionen
Hier sind einige nützliche Optionen, die du bei der Verwendung von curl beachten solltest:
-
-O
: Speichert die heruntergeladene Datei unter dem Dateinamen, der in der URL angegeben ist. -
-o
: Speichert die heruntergeladene Datei unter dem angegebenen Dateinamen. -
-C
: Fügt einen teilweisen Download fort, falls er unterbrochen wurde. -
-L
: Folgt Weiterleitungen, die von der URL angegeben werden. -
-v
: Aktiviert den ausführlichen Modus, der detaillierte Informationen über den Download anzeigt.
Beispiel
Um beispielsweise eine Datei mit dem Namen "example.txt" von einer bestimmten URL herunterzuladen, kannst du folgenden Befehl verwenden:
curl -o example.txt https://beispiel-url.com/example.txt
Unterschiede zu wget
Während wget und curl ähnliche Funktionen haben, gibt es einige bemerkenswerte Unterschiede:
- Multithreading: curl unterstützt Multithreading, was bedeutet, dass es mehrere gleichzeitige Verbindungen herstellen kann, um Downloads zu beschleunigen.
- HTTP-Anpassung: curl bietet erweiterte Optionen zur Anpassung von HTTP-Anforderungen, wie z. B. das Festlegen von Kopfzeilen und die Verwendung von HTTP-Methoden.
-
Konsolenfortschritt: curl zeigt standardmäßig keine Fortschrittsanzeige in der Konsole an, kann aber mit der Option
--progress-bar
aktiviert werden.
HTTP-Anforderungen mit cURL anpassen: Kopfzeilen, HTTP-Methoden
cURL ermöglicht dir, erweiterte HTTP-Anforderungen zu konfigurieren, indem du Kopfzeilen und HTTP-Methoden anpasst. Dies ist hilfreich für den Zugriff auf geschützte Websites oder das Simulieren verschiedener Browser.
Hinzufügen von Kopfzeilen
Du kannst benutzerdefinierte HTTP-Kopfzeilen hinzufügen, um zusätzliche Informationen in deine Anfrage einzubetten. Dies kann nützlich sein, um Cookies, User-Agents oder andere Metadaten zu senden. Verwende die Option -H
:
curl -H "Cookie: sessionid=ABC123" -H "User-Agent: Mozilla/5.0" https://example.com
Anpassen von HTTP-Methoden
cURL unterstützt eine Vielzahl von HTTP-Methoden, die über die Standard-GET-Methode hinausgehen. Dies ist nützlich für das Senden von Daten in Formularen oder das Ausführen von CRUD-Operationen. Verwende die Option -X
, um die Methode festzulegen:
# POST-Anfrage mit Daten senden
curl -X POST -d "name=John" -d "age=30" https://example.com/submit
# PUT-Anfrage zur Aktualisierung von Daten
curl -X PUT -d "name=Jane" -d "age=35" https://example.com/update/123
Zusätzliche Optionen
Neben dem Anpassen von Kopfzeilen und HTTP-Methoden bietet cURL noch weitere Optionen zur Feinabstimmung deiner HTTP-Anforderungen:
-
Authentifizierung: Authentifizierung mit Servern über HTTP Basic oder Digest Authentication mit den Optionen
-u
und-U
. -
Proxies: Verwende einen Proxy-Server, um deine Anfragen über einen Vermittler zu routen, mit der Option
-x
. -
Protokolle: Wähle ein bestimmtes Protokoll, z. B. HTTP/2 oder HTTPS, mit der Option
-proto
. -
Datenübertragung: Verwende die Option
--compressed
, um Daten in der Übertragung zu komprimieren, und--progress
, um den Fortschritt der Übertragung anzuzeigen.
Dateien mit aria2c herunterladen: Multithreading, Geschwindigkeitsoptimierung
Wenn du besonders große Dateien oder mehrere Dateien gleichzeitig herunterladen musst, ist aria2c eine hervorragende Wahl. aria2c unterstützt Multithreading, wodurch die Download-Geschwindigkeit erheblich gesteigert werden kann.
Multithreading aktivieren
Um Multithreading zu aktivieren, verwende die Option -x
. Die Anzahl der Threads kann mit der Option --max-concurrent-downloads
festgelegt werden. Die Standardeinstellung ist 5 Threads, aber du kannst sie je nach Systemressourcen anpassen.
Download-Geschwindigkeit optimieren
Neben Multithreading bietet aria2c weitere Optionen zur Optimierung der Download-Geschwindigkeit:
-
Splitting von Dateien: Durch Aufteilen der Dateien in kleinere Blöcke und paralleles Herunterladen der Blöcke kannst du die Geschwindigkeit erhöhen. Verwende die Option
--split
. -
Einstellung der Puffergröße: Die Puffergröße bestimmt die Menge an Daten, die aria2c zwischenspeichert, bevor sie auf die Festplatte geschrieben werden. Eine höhere Puffergröße kann die Geschwindigkeit verbessern, aber auch den Speicherbedarf erhöhen. Verwende die Option
--buffer-size
. -
TCP- und HTTP-Optimierung: aria2c unterstützt verschiedene TCP- und HTTP-Optimierungen, wie z. B. keep-alive-Verbindungen und Chunked-Transfer-Codierung. Verwende die Optionen
--min-tls-version
,--disable-ipv6
und--http-user-agent
.
Beispiel
Um eine Datei mit 5 Threads und einer Puffergröße von 1 MB herunterzuladen, verwende den folgenden Befehl:
aria2c -x 5 --buffer-size 1M https://example.com/file.zip
aria2c bietet erweiterte Funktionen und Konfigurationsmöglichkeiten, die dir helfen, deine Downloads zu beschleunigen und zu optimieren.
Fortsetzen unterbrochener Downloads
Solltest du einen Download aufgrund einer Internetverbindung oder anderen Gründen abbrechen müssen, kannst du ihn später fortsetzen. Dies ist besonders nützlich für große Dateien oder Downloads, die viel Zeit in Anspruch nehmen.
wget
Mit wget kannst du Downloads fortsetzen, indem du die -c
-Option verwendest. Diese Option weist wget an, die bereits heruntergeladenen Daten zu überspringen und mit dem Herunterladen des restlichen Teils der Datei fortzufahren.
wget -c https://example.com/file.zip
curl
Auch curl unterstützt das Fortsetzen von Downloads. Hierfür verwendest du die -C -
-Option, die curl mitteilt, den Download an der Position fortzusetzen, an der er abgebrochen wurde.
curl -C - https://example.com/file.zip -o file.zip
aria2c
aria2c ist ein leistungsstarker Download-Manager, der erweiterte Funktionen wie das Fortsetzen von Downloads bietet. aria2c merkt sich automatisch den Fortschritt des Downloads und setzt ihn bei Bedarf fort.
aria2c https://example.com/file.zip
Allgemeine Tipps
- Stelle sicher, dass die URL unverändert bleibt. Wenn du die URL des Downloads änderst, kann der Download nicht fortgesetzt werden.
- Verwende einen Download-Manager. Dedicated Download-Manager wie aria2c bieten zusätzliche Funktionen für die Verwaltung von Downloads und das Fortsetzen von unterbrochenen Downloads.
- Überprüfe die Dateigröße. Bevor du einen Download fortsetzt, überprüfe die Dateigröße, um sicherzustellen, dass sie mit der Größe der bereits heruntergeladenen Daten übereinstimmt.
Dateien in einen bestimmten Ordner herunterladen
Standardmäßig speichert wget heruntergeladene Dateien im aktuellen Verzeichnis. Dies kann jedoch unpraktisch sein, insbesondere wenn du mehrere Dateien aus verschiedenen Quellen herunterlädst. Um dieses Problem zu beheben, kannst du festlegen, dass wget die Dateien in einen bestimmten Ordner speichert.
Verwendung der Option -P
Die Option -P
gibt den Ordner an, in dem die heruntergeladenen Dateien gespeichert werden sollen. Der Ordner wird erstellt, falls er nicht existiert.
wget -P /pfad/zum/ordner https://beispiel.com/datei.tar.gz
Kopieren mehrerer Dateien in einen Ordner
Wenn du mehrere Dateien herunterladen möchtest, kannst du die Platzhalterfunktion von wget
verwenden. Die folgende Syntax lädt alle .pdf
-Dateien von einer Website in den Ordner Dokumente
herunter:
wget -P Dokumente https://beispiel.com/*.pdf
Herunterladen von Dateien in verschachtelte Ordner
Mit wget kannst du Dateien auch in verschachtelte Ordner herunterladen. Verwende dazu einfach /
als Trennzeichen in der Pfadangabe.
wget -P Dokumente/Unterordner https://beispiel.com/datei.zip
In diesem Beispiel wird die Datei datei.zip
in den Ordner Dokumente/Unterordner
heruntergeladen.
Verwendung anderer Download-Manager
Auch wenn wget eine leistungsstarke Option zum Herunterladen von Dateien ist, gibt es auch andere Download-Manager, die diese Funktion bieten. Beispielsweise kannst du mit Download Accelerator Plus und Internet Download Manager Dateien in bestimmte Ordner herunterladen.
Herunterladen von sicheren URLs: HTTPS-Unterstützung
Da sich der Webverkehr zunehmend auf sichere HTTPS-Verbindungen verlagert, musst du wissen, wie du Dateien von HTTPS-URLs herunterlädst.
HTTPS-Zertifikate und wget
wget unterstützt das Herunterladen von Dateien von HTTPS-URLs. Es verifiziert das HTTPS-Zertifikat der Ziel-Website, um sicherzustellen, dass die Verbindung sicher ist.
Um ein selbstsigniertes Zertifikat zu akzeptieren, verwende die Option --no-check-certificate
. Dies ist jedoch nicht empfehlenswert, es sei denn, du hast Grund zur Annahme, dass das Zertifikat vertrauenswürdig ist.
cURL und HTTPS
Auch cURL unterstützt HTTPS-Downloads. Es verwendet die OpenSSL-Bibliothek, um die Zertifikatsüberprüfung durchzuführen.
Du kannst die Zertifikatüberprüfung mit der Option --insecure
deaktivieren. Wie bei wget wird dies jedoch nicht empfohlen, es sei denn, du hast Grund zur Annahme, dass die Verbindung sicher ist.
aria2c und HTTPS
aria2c unterstützt HTTPS-Downloads und verfügt über erweiterte Funktionen zur Verarbeitung von HTTPS-Zertifikaten. Du kannst beispielsweise die Optionen --ca-certificate
und --crl-file
verwenden, um benutzerdefinierte Zertifikatsautoritäten oder Widerrufslisten zu verwenden.
Tipps zum Herunterladen von HTTPS-Dateien
- Verwende immer die Option
--no-check-certificate
oder--insecure
mit Vorsicht. - Verwende für sichere Downloads nach Möglichkeit cURL oder aria2c.
- Behalte die Sicherheitswarnungen des Browsers im Auge, wenn du Dateien von unbekannten Websites herunterlädst.