wget — Dateien und Websites herunterladen

Praxis-Guide zu wget — Dateidownloads, rekursives Herunterladen, Website-Spiegelung und Authentifizierung auf der Kommandozeile, mit Beispielen.

wget ist der verlässliche nicht-interaktive Downloader der Kommandozeile: Mit einem einzigen Befehl holst du einzelne Dateien, rekursive Verzeichnisbäume oder komplette Websites auf dein System – auch auf langsamen oder instabilen Verbindungen. Das Tool unterstützt HTTP, HTTPS und FTP, setzt abgebrochene Downloads nahtlos fort und respektiert Server durch einstellbare Wartezeiten. Dieser Guide zeigt dir die wichtigsten Optionen, vom einfachen Dateidownload bis zur vollständigen Website-Spiegelung.

Einfacher Download

wget <url> — Lädt eine Datei von der angegebenen URL in das aktuelle Verzeichnis herunter.

wget https://example.com/file.tar.gz

wget -O <file> <url> — Lädt die Datei herunter und speichert sie unter einem bestimmten Dateinamen.

wget -O output.html https://www.example.com

wget -P <directory> <url> — Lädt die Datei herunter und speichert sie in einem bestimmten Verzeichnis.

wget -P /tmp/ https://example.com/file.tar.gz

wget -q <url> — Stiller Modus: unterdrückt Ausgabe-Meldungen.

wget -q https://example.com/file.tar.gz

wget -i <file> — Lädt URLs aus einer Textdatei herunter (eine URL pro Zeile).

wget -i urls.txt

Fortsetzen & Wiederholen

wget -c <url> — Setzt einen unterbrochenen Download fort.

wget -c https://example.com/largefile.iso

wget -t <num> <url> — Legt die Anzahl der Wiederholungsversuche fest (0 für unbegrenzt).

wget -t 3 https://example.com/file.tar.gz

wget --timeout=<seconds> <url> — Setzt den Netzwerk-Timeout in Sekunden.

wget --timeout=30 https://example.com/file.tar.gz

wget --waitretry=<seconds> <url> — Wartet zwischen Wiederholungsversuchen, mit zunehmendem Intervall.

wget --waitretry=5 https://example.com/file.tar.gz

Rekursiver Download

wget -r <url> — Lädt rekursiv herunter und folgt Links bis zu 5 Ebenen tief.

wget -r https://example.com/docs/

wget -r -l <depth> <url> — Rekursiver Download mit benutzerdefinierter Tiefengrenze.

wget -r -l 2 https://example.com/docs/

wget -r -np <url> — Rekursiver Download ohne Aufstieg in übergeordnete Verzeichnisse.

wget -r -np https://example.com/docs/

wget -r -A "<extensions>" <url> — Lädt nur Dateien mit bestimmten Erweiterungen herunter.

wget -r -A "*.pdf,*.doc" https://example.com/docs/

wget -r -R "<extensions>" <url> — Schließt Dateien mit bestimmten Erweiterungen vom Download aus.

wget -r -R "*.gif,*.jpg" https://example.com/docs/

Spiegelung

wget -m <url> — Spiegelt eine Website (rekursiv, Zeitstempel, unbegrenzte Tiefe).

wget -m https://example.com/

wget -m -k -p <url> — Spiegelt eine Website und konvertiert Links für die Offline-Ansicht.

wget -m -k -p https://example.com/

wget -m -k -p -E <url> — Spiegelung mit angepassten Dateiendungen (.html für alle Seiten).

wget -m -k -p -E https://example.com/

wget --mirror --convert-links --wait=2 <url> — Spiegelt eine Website mit höflichem 2-Sekunden-Delay zwischen den Anfragen.

wget --mirror --convert-links --wait=2 https://example.com/

Authentifizierung

wget --user=<user> --password=<pass> <url> — Lädt mit HTTP-Basic-Authentifizierung herunter.

wget --user=admin --password=secret https://example.com/private/

wget --header="Authorization: Bearer <token>" <url> — Lädt mit einem Bearer-Token herunter.

wget --header="Authorization: Bearer eyJhbGci..." https://api.example.com/data

wget --no-check-certificate <url> — Überspringt die Prüfung des SSL-Zertifikats (unsicher, nur zum Testen).

wget --no-check-certificate https://self-signed.example.com/file

Geschwindigkeit & Bandbreite

wget --limit-rate=<rate> <url> — Begrenzt die Download-Geschwindigkeit auf einen bestimmten Wert.

wget --limit-rate=500k https://example.com/largefile.iso

wget -b <url> — Lädt im Hintergrund herunter. Ausgabe geht in wget-log.

wget -b https://example.com/largefile.iso

wget --wait=<seconds> -r <url> — Wartet zwischen Downloads bei rekursivem Herunterladen.

wget --wait=2 -r https://example.com/docs/

wget --random-wait -r <url> — Wartet eine zufällige Zeit (0,5x bis 1,5x --wait) zwischen Anfragen.

wget --wait=3 --random-wait -r https://example.com/

Ausgabe-Optionen

wget -O - <url> — Lädt herunter und gibt auf stdout aus statt in eine Datei.

wget -O - https://api.example.com/data

wget --spider <url> — Prüft, ob eine URL erreichbar ist, ohne herunterzuladen (wie ein Ping).

wget --spider https://www.example.com

wget -S <url> — Gibt die Server-Response-Header aus.

wget -S https://www.example.com

wget --content-disposition <url> — Nutzt den vom Server vorgeschlagenen Dateinamen aus dem Content-Disposition-Header.

wget --content-disposition https://example.com/download?id=123

Fazit

wget gehört zu den Klassikern im Unix-Werkzeugkoffer: Wo cURL glänzt, wenn es ums Senden und Empfangen von API-Daten geht, ist wget unschlagbar für robuste Batch-Downloads, Website-Spiegelungen und automatisierte Skripte. Wer regelmäßig große Datenmengen von Servern zieht, sollte --limit-rate, --wait und -c zu seinen ersten Handgriffen machen.

Verwandte Kommandos

  • curl – HTTP-Requests, API-Calls und Dateiübertragungen auf der Kommandozeile
  • aria2 – schneller Paralleldownloader für große Dateien
  • httpie – moderner, benutzerfreundlicher HTTP-Client