wget Dienstprogramm ist die beste Option, um Dateien aus dem Internet herunterzuladen. wget kann so ziemlich alle komplexen Download-Situationen bewältigen, einschließlich großer Dateidownloads, rekursiver Downloads, nicht interaktiver Downloads, mehrerer Dateidownloads usw.,
In diesem Artikel sehen wir uns die Verwendung von wget an für verschiedene Download-Szenarien anhand von 15 fantastischen wget-Beispielen.
1. Einzelne Datei mit wget herunterladen
Das folgende Beispiel lädt eine einzelne Datei aus dem Internet herunter und speichert sie im aktuellen Verzeichnis.
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Während des Downloads wird ein Fortschrittsbalken mit folgenden Informationen angezeigt:
- % des Downloadabschlusses (z. B. 31 % wie unten gezeigt)
- Gesamtmenge der bisher heruntergeladenen Bytes (z. B. 1.213.592 Bytes wie unten gezeigt)
- Aktuelle Downloadgeschwindigkeit (z. B. 68,2 K/s wie unten gezeigt)
- Verbleibende Zeit zum Herunterladen (z. B. eta 34 Sekunden wie unten gezeigt)
Download läuft:
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Saving to: `strx25-0.9.2.1.tar.bz2.1' 31% [=================> 1,213,592 68.2K/s eta 34s
Download abgeschlossen:
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Saving to: `strx25-0.9.2.1.tar.bz2' 100%[======================>] 3,852,374 76.8K/s in 55s 2009-09-25 11:15:30 (68.7 KB/s) - `strx25-0.9.2.1.tar.bz2' saved [3852374/3852374]
2. Herunterladen und Speichern unter einem anderen Dateinamen mit wget -O
Standardmäßig wählt wget den Dateinamen aus dem letzten Wort nach dem letzten Schrägstrich, was möglicherweise nicht immer angemessen ist.
Falsch: Das folgende Beispiel lädt die Datei mit dem Namen herunter und speichert sie:download_script.php?src_id=7701
$ wget http://www.vim.org/scripts/download_script.php?src_id=7701
Auch wenn die heruntergeladene Datei im ZIP-Format vorliegt, wird sie wie unten gezeigt in der Datei gespeichert.
$ ls download_script.php?src_id=7701
Richtig: Um dieses Problem zu beheben, können wir den Namen der Ausgabedatei mit der Option -O wie folgt angeben:
$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
3. Geben Sie die Download-Geschwindigkeit / Download-Rate mit wget –limit-rate
anWährend der Ausführung von wget wird standardmäßig versucht, die volle mögliche Bandbreite zu belegen. Dies ist möglicherweise nicht akzeptabel, wenn Sie große Dateien auf Produktionsserver herunterladen. Um dies zu vermeiden, können wir die Download-Geschwindigkeit mit der –limit-rate wie unten gezeigt begrenzen.
Im folgenden Beispiel ist die Downloadgeschwindigkeit auf 200.000 beschränkt
$ wget --limit-rate=200k http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
4. Setzen Sie den unvollständigen Download mit wget -c
fortStarten Sie einen Download neu, der mittendrin gestoppt wurde, indem Sie die Option wget -c wie unten gezeigt verwenden.
$ wget -c http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Dies ist sehr hilfreich, wenn Sie einen sehr großen Dateidownload initiiert haben, der mittendrin unterbrochen wurde. Anstatt den gesamten Download erneut zu starten, können Sie den Download an der Stelle fortsetzen, an der er unterbrochen wurde, indem Sie die Option -c
verwendenHinweis: Wenn ein Download mittendrin gestoppt wird und Sie den Download ohne die Option -c erneut starten, hängt wget automatisch .1 an den Dateinamen an, da eine Datei mit dem vorherigen Namen bereits vorhanden ist. Wenn eine Datei mit .1 bereits vorhanden ist, wird die Datei mit .2 am Ende heruntergeladen.
5. Download im Hintergrund mit wget -b
Setzen Sie für einen großen Download den Download mit der wget-Option -b in den Hintergrund, wie unten gezeigt.
$ wget -b http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Continuing in background, pid 1984. Output will be written to `wget-log'.
Es initiiert den Download und gibt Ihnen den Shell-Prompt zurück. Sie können den Status des Downloads jederzeit mit tail -f überprüfen, wie unten gezeigt.
$ tail -f wget-log Saving to: `strx25-0.9.2.1.tar.bz2.4' 0K .......... .......... .......... .......... .......... 1% 65.5K 57s 50K .......... .......... .......... .......... .......... 2% 85.9K 49s 100K .......... .......... .......... .......... .......... 3% 83.3K 47s 150K .......... .......... .......... .......... .......... 5% 86.6K 45s 200K .......... .......... .......... .......... .......... 6% 33.9K 56s 250K .......... .......... .......... .......... .......... 7% 182M 46s 300K .......... .......... .......... .......... .......... 9% 57.9K 47s
Lesen Sie auch unbedingt unseren vorherigen Multitail-Artikel zur effektiven Verwendung des tail-Befehls, um mehrere Dateien anzuzeigen.
6. Maskieren Sie den Benutzeragenten und zeigen Sie wget wie im Browser an, indem Sie wget –user-agent
verwendenEinige Websites können Ihnen das Herunterladen ihrer Seite verbieten, indem sie angeben, dass der Benutzeragent kein Browser ist. Sie können also den Benutzeragenten maskieren, indem Sie –user-agent-Optionen verwenden und wget wie einen Browser anzeigen, wie unten gezeigt.
$ wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" URL-TO-DOWNLOAD
7. Testen Sie die Download-URL mit wget –spider
Wenn Sie einen geplanten Download durchführen, sollten Sie überprüfen, ob der Download zur geplanten Zeit problemlos durchgeführt werden kann oder nicht. Kopieren Sie dazu die Linie genau aus dem Zeitplan und fügen Sie dann die Option –spider zur Überprüfung hinzu.
$ wget --spider DOWNLOAD-URL
Wenn die angegebene URL korrekt ist, lautet sie
$ wget --spider download-url Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Remote file exists and could contain further links, but recursion is disabled -- not retrieving.
Dadurch wird sichergestellt, dass der Download zum geplanten Zeitpunkt erfolgreich ist. Aber wenn Sie eine falsche URL angegeben haben, erhalten Sie die folgende Fehlermeldung.
$ wget --spider download-url Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response... 404 Not Found Remote file does not exist -- broken link!!!
Sie können die Spider-Option in folgenden Szenarien verwenden:
- Überprüfen Sie dies, bevor Sie einen Download planen.
- Überwachung, ob eine Website in bestimmten Abständen verfügbar ist oder nicht.
- Überprüfen Sie eine Liste der Seiten Ihres Lesezeichens und finden Sie heraus, welche Seiten noch vorhanden sind.
8. Erhöhen Sie die Gesamtzahl der Wiederholungsversuche mit wget –tries
Wenn die Internetverbindung ein Problem hat und die Download-Datei groß ist, besteht die Möglichkeit, dass der Download fehlschlägt. Standardmäßig versucht wget 20 Mal, den Download erfolgreich durchzuführen.
Bei Bedarf können Sie die Wiederholungsversuche mit der Option –tries wie unten gezeigt erhöhen.
$ wget --tries=75 DOWNLOAD-URL
9. Laden Sie mehrere Dateien/URLs mit Wget -i
herunterSpeichern Sie zuerst alle Download-Dateien oder URLs in einer Textdatei als:
$ cat > download-file-list.txt URL1 URL2 URL3 URL4
Geben Sie als nächstes die download-file-list.txt als Argument für wget an, indem Sie die Option -i verwenden, wie unten gezeigt.
$ wget -i download-file-list.txt
10. Laden Sie eine vollständige Website mit wget –mirror
herunterEs folgt die Befehlszeile, die Sie ausführen möchten, wenn Sie eine vollständige Website herunterladen und für die lokale Anzeige verfügbar machen möchten.
$ wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
- –mirror :Zum Spiegeln geeignete Optionen einschalten.
- -p :lädt alle Dateien herunter, die notwendig sind, um eine gegebene HTML-Seite richtig anzuzeigen.
- –convert-links :Konvertiert nach dem Download die Links im Dokument für die lokale Anzeige.
- -P ./LOCAL-DIR :speichert alle Dateien und Verzeichnisse im angegebenen Verzeichnis.
11. Bestimmte Dateitypen beim Herunterladen mit wget –reject
ablehnenSie haben eine nützliche Website gefunden, möchten aber die Bilder nicht herunterladen, können Sie Folgendes angeben.
$ wget --reject=gif WEBSITE-TO-BE-DOWNLOADED
12. Protokollieren Sie Nachrichten in einer Protokolldatei anstelle von stderr. Verwenden Sie wget -o
Wenn Sie wollten, dass das Protokoll in eine Protokolldatei statt in das Terminal umgeleitet wird.
$ wget -o download.log DOWNLOAD-URL
13. Beenden Sie den Download, wenn er eine bestimmte Größe überschreitet, indem Sie wget -Q
verwendenWenn Sie den Download stoppen möchten, wenn er 5 MB überschreitet, können Sie die folgende wget-Befehlszeile verwenden.
$ wget -Q5m -i FILE-WHICH-HAS-URLS
Hinweis: Dieses Kontingent wird nicht wirksam, wenn Sie eine einzelne URL herunterladen. Unabhängig von der Kontingentgröße wird alles heruntergeladen, wenn Sie eine einzelne Datei angeben. Dieses Kontingent gilt nur für rekursive Downloads.
14. Laden Sie nur bestimmte Dateitypen mit wget -r -A
herunterSie können dies in folgenden Situationen verwenden:
- Alle Bilder von einer Website herunterladen
- Alle Videos von einer Website herunterladen
- Alle PDF-Dateien von einer Website herunterladen
$ wget -r -A.pdf http://url-to-webpage-with-pdfs/
15. FTP-Download mit wget
Sie können wget verwenden, um einen FTP-Download durchzuführen, wie unten gezeigt.
Anonymer FTP-Download mit Wget
$ wget ftp-url
FTP-Download mit wget mit Benutzername und Passwort-Authentifizierung.
$ wget --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL
Wenn Ihnen dieser Artikel gefallen hat, versehen Sie ihn bitte mit delicious oder Stumble.