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.gzwget -O <file> <url> — Lädt die Datei herunter und speichert sie unter einem bestimmten Dateinamen.
wget -O output.html https://www.example.comwget -P <directory> <url> — Lädt die Datei herunter und speichert sie in einem bestimmten Verzeichnis.
wget -P /tmp/ https://example.com/file.tar.gzwget -q <url> — Stiller Modus: unterdrückt Ausgabe-Meldungen.
wget -q https://example.com/file.tar.gzwget -i <file> — Lädt URLs aus einer Textdatei herunter (eine URL pro Zeile).
wget -i urls.txtFortsetzen & Wiederholen
wget -c <url> — Setzt einen unterbrochenen Download fort.
wget -c https://example.com/largefile.isowget -t <num> <url> — Legt die Anzahl der Wiederholungsversuche fest (0 für unbegrenzt).
wget -t 3 https://example.com/file.tar.gzwget --timeout=<seconds> <url> — Setzt den Netzwerk-Timeout in Sekunden.
wget --timeout=30 https://example.com/file.tar.gzwget --waitretry=<seconds> <url> — Wartet zwischen Wiederholungsversuchen, mit zunehmendem Intervall.
wget --waitretry=5 https://example.com/file.tar.gzRekursiver 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/datawget --no-check-certificate <url> — Überspringt die Prüfung des SSL-Zertifikats (unsicher, nur zum Testen).
wget --no-check-certificate https://self-signed.example.com/fileGeschwindigkeit & Bandbreite
wget --limit-rate=<rate> <url> — Begrenzt die Download-Geschwindigkeit auf einen bestimmten Wert.
wget --limit-rate=500k https://example.com/largefile.isowget -b <url> — Lädt im Hintergrund herunter. Ausgabe geht in wget-log.
wget -b https://example.com/largefile.isowget --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/datawget --spider <url> — Prüft, ob eine URL erreichbar ist, ohne herunterzuladen (wie ein Ping).
wget --spider https://www.example.comwget -S <url> — Gibt die Server-Response-Header aus.
wget -S https://www.example.comwget --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.
Weiterführende Links
- GNU Wget – offizielle Dokumentation – vollständige Referenz aller Optionen (englisch)
- Wget – Wikipedia – Hintergrund und Geschichte