Eine detaillierte Einführung in den wget-Befehl in Linux

Eine detaillierte Einführung in den wget-Befehl in Linux

Einführung: wget ist ein Tool zum Herunterladen von Dateien unter Linux. wget ist eine Open-Source-Software, die unter Linux entwickelt wurde. Der Autor ist Hrvoje Niksic und es wurde später auf verschiedene Plattformen, darunter Windows, portiert.

Es wird von der Befehlszeile aus verwendet. Es ist ein unverzichtbares Tool für Linux-Benutzer, insbesondere für Netzwerkadministratoren, die häufig Software herunterladen oder Backups von Remote-Servern auf lokalen Servern wiederherstellen müssen. Wenn wir einen virtuellen Host verwenden, können wir zur Abwicklung solcher Transaktionen die Daten zunächst nur vom Remote-Server auf die Festplatte unseres Computers herunterladen und sie dann mit dem FTP-Tool auf den Server hochladen. Dies ist eine Verschwendung von Zeit und Energie. Sie können nichts dagegen tun. Mit Linux VPS kann es ohne den Upload-Schritt direkt auf den Server heruntergeladen werden. Das Tool wget ist klein, verfügt aber über alle Funktionen. Es unterstützt Breakpoint-Downloads, FTP- und HTTP-Downloadmethoden, Proxyserver und ist einfach einzurichten. Nachfolgend erläutern wir anhand eines Beispiels die Verwendung von wget.

Installieren Sie zuerst wget

[root@Netzwerktest]# yum install -y wget

Hilfehandbuch anzeigen

[root@Netzwerktest]# wget --help
GNU Wget 1.14, ein nicht interaktives Netzwerk-Dateidownloadtool.
Verwendung: wget [Optionen]... [URL]...

Erforderliche Argumente für lange Optionen sind auch bei der Verwendung kurzer Optionen erforderlich.

Start-up:
  -V, --version Zeigt Wget-Versionsinformationen an und beendet das Programm.
  -h, --help Diese Hilfe drucken.
  -b, --background Nach dem Start in den Hintergrund gehen.
  -e, --execute=COMMAND Führen Sie einen Befehl im Stil „.wgetrc“ aus.

Protokoll- und Eingabedateien:
  -o, --output-file=DATEI Protokollinformationen in DATEI schreiben.
  -a, --append-output=DATEI. Informationen an DATEI anhängen.
  -d, --debug Druckt ausführliche Debuginformationen.
  -q, --quiet Leiser Modus (keine Ausgabe).
  -v, --verbose Ausführliche Ausgabe (dies ist die Standardeinstellung).
  -nv, --no-verbose Ausführliche Ausgabe deaktivieren, aber nicht in den Ruhemodus wechseln.
       --report-speed=TYP Gibt die Bandbreite als TYP aus. TYP kann aus Bits bestehen.
  -i, --input-file=DATEI URLs aus lokaler oder externer DATEI herunterladen.
  -F, --force-html Eingabedateien als HTML-Dateien behandeln.
  -B, --base=URL Analysiert HTML-Eingabedateien relativ zu URLs (angegeben durch die Optionen -i -F).
       --config=DATEI Geben Sie die zu verwendende Konfigurationsdatei an.

herunterladen:
  -t, --tries=ANZAHL Setzt die Anzahl der Wiederholungsversuche auf ANZAHL (0 bedeutet unbegrenzt).
       --retry-connrefused. Wiederholen Sie den Versuch, auch wenn die Verbindung abgelehnt wird.
  -O, --output-document=DATEI Dokument in DATEI schreiben.
  -nc, --no-clobber überspringt Downloads, die heruntergeladen würden in
                                 vorhandene Dateien (überschreiben).
  -c, --continue Download der Dateien fortsetzen.
       --progress=TYPE Wählen Sie den Typ des Fortschrittsbalkens aus.
  -N, --timestamping Ruft nur Dateien ab, die neuer sind als lokale Dateien.
  --no-use-server-timestamps Verwenden Sie keine Server-Zeitstempel, um lokale Dateien festzulegen.
  -S, --server-response Serverantwort drucken.
       --spider Keine Dateien herunterladen.
  -T, --timeout=SEKUNDEN Setzt alle Timeouts auf SEKUNDEN Sekunden.
       --dns-timeout=SECS Setzt das DNS-Lookup-Timeout auf SEKUNDEN.
       --connect-timeout=SECS Setzt das Verbindungstimeout auf SEKUNDEN.
       --read-timeout=SECS Setzt das Lese-Timeout auf SEKUNDEN.
  -w, --wait=SEKUNDEN Warten Sie SEKUNDEN Sekunden.
       --waitretry=SEKUNDEN Warten Sie 1..SEKUNDEN Sekunden zwischen den erneuten Versuchen, die Datei abzurufen.
       --random-wait Beim Abrufen mehrerer Dateien beträgt das zufällige Warteintervall jedes Mal 0,5*WAIT...1,5*WAIT Sekunden.
       --no-proxy Deaktivieren Sie die Verwendung eines Proxys.
  -Q, --quota=NUMBER Setzt das Abrufkontingent auf NUMBER Bytes.
       --bind-address=ADRESSE Binden an ADRESSE (Hostname oder IP) auf dem lokalen Host.
       --limit-rate=RATE Begrenzt die Downloadrate auf RATE.
       --no-dns-cache Deaktivieren Sie das DNS-Lookup-Caching.
       --restrict-file-names=OS Beschränken Sie die Zeichen in Dateinamen auf die vom Betriebssystem zugelassenen.
       --ignore-case Groß-/Kleinschreibung beim Abgleichen von Dateien/Verzeichnissen ignorieren.
  -4, --inet4-only Nur mit IPv4-Adressen verbinden.
  -6, --inet6-only Nur mit IPv6-Adressen verbinden.
       --prefer-family=FAMILY Zuerst eine Verbindung zu Adressen des angegebenen Protokolls herstellen. FAMILY kann IPv6, IPv4 oder keines sein.
       --user=USER: Setzt den Benutzernamen sowohl für FTP als auch für HTTP auf USER.
       --password=PASS: Setzt das Passwort sowohl für FTP als auch für HTTP auf PASS.
       --ask-password Fordert ein Passwort an.
       --no-iri deaktiviert die IRI-Unterstützung.
       --local-encoding=ENC IRI (Internationalized Resource Identifier) ​​​​ENC als lokale Kodierung verwenden.
       --remote-encoding=ENC ENC als Standard-Remote-Kodierung verwenden.
       --unlink: Datei vor dem Überschreiben entfernen.

Inhaltsverzeichnis:
  -nd, --no-directories Keine Verzeichnisse erstellen.
  -x, --force-directories Erzwingt die Erstellung von Verzeichnissen.
  -nH, --no-host-directories Keine Home-Verzeichnisse erstellen.
       --protocol-directories Protokollnamen in Verzeichnissen verwenden.
  -P, --directory-prefix=PREFIX Dateien als PREFIX/... speichern --cut-dirs=NUMBER NUMMER Verzeichnisebenen im Remote-Verzeichnis ignorieren.

HTTP-Optionen:
       --http-user=USER Setzt den HTTP-Benutzernamen auf USER.
       --http-password=PASS Setzen Sie das HTTP-Passwort auf PASS.
       --no-cache Keine Daten auf dem Server zwischenspeichern.
       --default-page=NAME Ändern Sie die Standardseite (die Standardseite ist normalerweise „index.html“).
  -E, --adjust-extension HTML/CSS-Dokumente mit entsprechenden Erweiterungen speichern.
       --ignore-length Ignoriert das Header-Feld „Content-Length“.
       --header=STRING STRING in den Header einfügen.
       --max-redirect Maximal zulässige Weiterleitungen pro Seite.
       --proxy-user=USER Verwenden Sie USER als Proxy-Benutzernamen.
       --proxy-password=PASS PASS als Proxy-Passwort verwenden.
       --referer=URL Fügen Sie „Referer: URL“ in den HTTP-Anforderungsheader ein.
       --save-headers HTTP-Header in Datei speichern.
  -U, --user-agent=AGENT Identifiziert sich als AGENT statt als Wget/VERSION.
       --no-http-keep-alive HTTP-Keep-Alive deaktivieren (dauerhafte Verbindungen).
       --no-cookies Keine Cookies verwenden.
       --load-cookies=DATEI: Cookies aus DATEI laden, bevor die Sitzung beginnt.
       --save-cookies=DATEI Cookies nach Beendigung der Sitzung in DATEI speichern.
       --keep-session-cookies Sitzungscookies (nicht dauerhaft) laden und speichern.
       --post-data=STRING POST-Methode verwenden; STRING als Daten senden.
       --post-file=DATEI POST-Methode verwenden; DATEI-Inhalt senden.
       --content-disposition: Content-Disposition-Header zulassen, wenn ein lokaler Dateiname ausgewählt ist (experimentell).
       --content-on-error gibt bei Serverfehlern den empfangenen Inhalt aus.
       --auth-no-challenge Senden Sie eine grundlegende HTTP-Authentifizierung ohne eine erste Warteserver-Challenge.

HTTPS-Optionen (SSL/TLS):
       --secure-protocol=PR sicheres Protokoll wählen, eines von auto, SSLv2,
                                SSLv3, TLSv1, TLSv1_1 und TLSv1_2.
       --no-check-certificate Überprüfen Sie das Server-Zertifikat nicht.
       --certificate=FILE Client-Zertifikatsdatei.
       --certificate-type=TYPE Client-Zertifikattyp, PEM oder DER.
       --private-key=DATEI Private Schlüsseldatei.
       --private-key-type=TYP Privater Schlüsseldateityp, PEM oder DER.
       --ca-certificate=DATEI Datei mit einem Satz von CA-Zertifikaten.
       --ca-directory=DIR Verzeichnis zum Speichern der Liste der Hashes von CA-Zertifikaten.
       --random-file=DATEI Datei mit zufälligen Daten zum Generieren des SSL PRNG.
       --egd-file=DATEI Name der Datei für den EGD-Socket mit zufälligen Daten.

FTP-Optionen:
       --ftp-user=USER Legt den FTP-Benutzernamen auf USER fest.
       --ftp-password=PASS Setzt das FTP-Passwort auf PASS.
       --no-remove-listing Entfernt keine „.listing“-Dateien.
       --no-glob Verwenden Sie keine Platzhaltererweiterungen in FTP-Dateinamen.
       --no-passive-ftp Deaktivieren Sie den „passiven“ Übertragungsmodus.
       --preserve-permissions Berechtigungen für Remotedateien beibehalten.
       --retr-symlinks: Beim Rekursivlesen von Verzeichnissen werden verknüpfte Dateien (keine Verzeichnisse) abgerufen.

WARC-Optionen:
       --warc-file=DATEINAME – Anforderungs-/Antwortdaten in einer .warc.gz-Datei speichern.
       --warc-header=STRING – STRING in den Warcinfo-Datensatz einfügen.
       --warc-max-size=NUMBER setzt die maximale Größe von WARC-Dateien auf NUMBER.
       --warc-cdx, CDX-Indexdateien schreiben.
       --warc-dedup=DATEINAME: In dieser CDX-Datei aufgelistete Datensätze nicht speichern.
       --no-warc-compression komprimiert WARC-Dateien nicht mit GZIP.
       --no-warc-digests berechnet keine SHA1-Digests.
       --no-warc-keep-log: Speichert die Protokolldatei nicht in einem WARC-Datensatz.
       --warc-tempdir=VERZEICHNIS Speicherort für temporäre Dateien, die vom
                                 WARC-Autor.

Rekursiver Download:
  -r, --recursive gibt den rekursiven Download an.
  -l, --level=NUMBER Maximale Rekursionstiefe (inf oder 0 bedeutet unbegrenzt, d. h. alles herunterladen).
       --delete-after Löscht lokale Dateien, nachdem der Download abgeschlossen ist.
  -k, --convert-links: Links in heruntergeladenem HTML oder CSS auf lokale Dateien verweisen lassen.
  --backups=N Vor dem Schreiben von Datei X bis zu N Sicherungsdateien rotieren.
  -K, --backup-converted Sichern Sie die Datei X als X.orig, bevor Sie sie konvertieren.
  Kurzform von -m, --mirror -N -r -l inf --no-remove-listing.
  -p, --page-requisites Lädt alle Elemente herunter, beispielsweise die Bilder, die zur Anzeige von HTML-Seiten verwendet werden.
       --strict-comments HTML-Kommentare im strikten Modus (SGML) verarbeiten.

Rekursives Akzeptieren/Ablehnen:
  -A, --accept=LIST. Durch Kommas getrennte Liste zulässiger Erweiterungen.
  -R, --reject=LIST Durch Komma getrennte Liste der abzulehnenden Erweiterungen.
       --accept-regex=REGEX Regex, der mit akzeptierten URLs übereinstimmt.
       --reject-regex=REGEX Regulärer Ausdruck, der mit abgelehnten URLs übereinstimmt.
       --regex-type=TYPE Regex-Typ (posix|pcre).
  -D, --domains=LIST Durch Komma getrennte Liste zulässiger Domänen.
       --exclude-domains=LIST Durch Kommas getrennte Liste der auszuschließenden Domänen.
       --follow-ftp FTP-Links in HTML-Dokumenten folgen.
       --follow-tags=LISTE. Durch Kommas getrennte Liste der zu befolgenden HTML-Tags.
       --ignore-tags=LIST. Durch Kommas getrennte Liste der zu ignorierenden HTML-Tags.
  -H, --span-hosts Bei Rekursion auf externe Hosts verteilen.
  -L, --relative Nur relativen Links folgen.
  -I, --include-directories=LIST Liste der zulässigen Verzeichnisse.
  --trust-server-names verwendet den bei der Umleitung angegebenen Namen
                                   letzte URL-Komponente.
  -X, --exclude-directories=LIST Liste der Verzeichnisse ausschließen.
  -np, --no-parent Keine Rückverfolgung zu übergeordneten Verzeichnissen.

1. Laden Sie eine einzelne Datei mit wget herunter

Das folgende Beispiel lädt eine Datei vom Netzwerk herunter und speichert sie im aktuellen Verzeichnis

Während des Downloadvorgangs wird ein Fortschrittsbalken mit Informationen zum Abschluss des Downloads in Prozent, heruntergeladenen Bytes, der aktuellen Downloadgeschwindigkeit und der verbleibenden Downloadzeit angezeigt.

wget http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz

2. Mit wget -O herunterladen und unter anderem Dateinamen speichern

[root@network-Test]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
[root@Netzwerktest]# ls
wordpress-4.9.4-zh_CN.tar.gz

Wir können den Parameter -O verwenden, um einen Dateinamen anzugeben:

wget -O wordpress.tar.gz http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
wordpress.tar.gz

3. Verwenden Sie wget -c, um den Download fortzusetzen

Verwenden Sie wget -c , um einen unterbrochenen Download neu zu starten:

Dies ist sehr hilfreich, wenn wir große Dateien herunterladen und der Download plötzlich aufgrund von Netzwerkproblemen oder anderen Gründen unterbrochen wird. Wir können den Download fortsetzen, anstatt eine Datei erneut herunterzuladen.

wget -c https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz

4. Verwenden Sie wget -b zum Herunterladen im Hintergrund

Beim Herunterladen sehr großer Dateien können wir den Parameter -b verwenden, um den Download im Hintergrund durchzuführen.

[root@Netzwerktest]# wget -b https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
Läuft weiterhin im Hintergrund mit PID 1463.
Schreibt die Ausgabe in „wget-log“.

Mit dem folgenden Befehl können Sie den Download-Fortschritt überprüfen:

[root@Netzwerktest]# tail -f wget-log
  8550K .......... .......... .......... .......... .......... 96% 814K 0 s
  8600 K .......... .......... .......... .......... .......... 97 % 9,53 Mio. 0 s
  8650K .......... .......... .......... .......... .......... 98% 86,8 Mio. 0 s
  8700K .......... .......... .......... .......... .......... 98% 145M 0s
  8750 K .......... .......... .......... .......... .......... 99 % 67,4 Mio. 0 s
  8800 K .......... .......... .......... .......... .......... 99 % 107 Mio. 0 s
  8850 K .......... ......... 100 % 1,95 Mio. = 16 s

10.11.2018 15:39:07 (564 KB/s) – „wordpress-4.9.4-zh_CN.tar.gz.2“ gespeichert [9082696/9082696])

5. Download über getarnten Proxy-Namen

Einige Websites können Ihre Download-Anforderung ablehnen, da sie davon ausgehen, dass es sich bei dem Proxy-Namen nicht um einen Browser handelt. Sie können es jedoch durch die Verwendung –user-agent verschleiern.

6. Verwenden Sie wget –spider, um den Download-Link zu testen

Wenn Sie Downloads planen, sollten Sie testen, ob der Download-Link zum geplanten Zeitpunkt gültig ist. Zur Überprüfung können wir den Parameter –spider hinzufügen.

wget –spider URL
Wenn der Download-Link korrekt ist, wird die wget –spider-URL angezeigt.
Spider-Modus aktiviert. Überprüfen Sie, ob eine Remote-Datei vorhanden ist.
HTTP-Anfrage gesendet, warte auf Antwort… 200 OK
Länge: nicht angegeben [text/html]
Remote-Datei existiert und könnte weitere Links enthalten,
aber die Rekursion ist deaktiviert – kein Abrufen.
Dadurch wird sichergestellt, dass der Download zum geplanten Zeitpunkt ausgeführt wird. Wenn Sie jedoch einen falschen Link angeben, wird der folgende Fehler angezeigt: wget –spider url
Spider-Modus aktiviert. Überprüfen Sie, ob eine Remote-Datei vorhanden ist.
HTTP-Anfrage gesendet, warte auf Antwort… 404 Nicht gefunden
Remote-Datei existiert nicht – defekter Link!!!

Sie können Spider-Parameter in den folgenden Situationen verwenden:

  • Vor dem geplanten Download prüfen
  • Intervallerkennung der Website-Verfügbarkeit
  • Überprüfen Sie die Webseiten auf tote Links

7. Verwenden Sie wget –tries, um die Anzahl der Wiederholungsversuche zu erhöhen

Der Download kann auch fehlschlagen, wenn ein Problem mit dem Netzwerk vorliegt oder es sich beim Download um eine große Datei handelt. Standardmäßig unternimmt wget 20 neue Verbindungsversuche und unternimmt den Download von Dateien. Bei Bedarf können Sie die Anzahl der Wiederholungsversuche mit –tries erhöhen.

wget –tries=40 URL

8. Laden Sie mehrere Dateien mit wget -i herunter

Speichern Sie zunächst eine Download-Link-Datei cat > filelist.txt
URL1
URL2
URL3
URL4
Verwenden Sie dann diese Datei und den Parameter -i zum Herunterladen von wget -i filelist.txt

9. Verwenden Sie wget –mirror, um die Website zu spiegeln

wget --mirror --convert-links --adjust-extension --page-requisites 
--no-parent http://example.org

oder

wget -mkEpnp http://example.org
  • --mirror – alle Ressourcen einer bestimmten Website rekursiv herunterladen
  • --convert-links – Absolute Links in relative Links umwandeln
  • --adjust-extension – passt den Dateinamen entsprechend dem Content-Type an und fügt die entsprechende Dateiendung hinzu
  • --page-requisites – Andere abhängige CSS-, Javascript-, Bild- und andere Ressourcen herunterladen
  • --no-parent – ​​​​Keine Ressourcen des übergeordneten Verzeichnisses herunterladen

10. Verwenden Sie wget –reject, um den Download im angegebenen Format zu filtern

Sie möchten eine Website herunterladen, aber keine Bilder. Dann können Sie den folgenden Befehl verwenden.

wget –reject=gif-URL

11. Verwenden Sie wget -o, um Download-Informationen in einer Protokolldatei zu speichern

Wenn Sie die Download-Informationen nicht direkt im Terminal, sondern in einer Protokolldatei anzeigen möchten, können Sie den folgenden Befehl verwenden:

wget -o download.log-URL

Beispiel

Verwenden Sie wget -O zum Herunterladen und Speichern unter einem anderen Dateinamen (-O: Laden Sie die Datei in das entsprechende Verzeichnis herunter und ändern Sie den Dateinamen).

wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080 

Verwenden Sie wget -b zum Herunterladen im Hintergrund

wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip

Hinweis: Mit dem folgenden Befehl können Sie den Download-Fortschritt anzeigen: tail -f wget-log

Verwenden Sie -spider : Simulieren Sie den Download. Es wird kein Download durchgeführt. Prüfen Sie lediglich, ob die Website gut ist.

[root@localhost ~]# wget --spider www.baidu.com #Keine Dateien herunterladen 

Simulieren Sie den Download der Druckserverantwort

[root@localhost ~]# wget -S www.baidu.com # Serverantwort drucken 

Stellen Sie die angegebene Anzahl von Malen ein

[root@localhost ~]# wget -r --tries=2 www.baidu.com (2 Versuche angeben, keine weiteren Versuche nach 2 Versuchen)
[root@localhost ~]# wget -r --tries=2 -q www.baidu.com (Versuche angeben und keine Zwischenergebnisse drucken) 

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Grundlegende Verwendung des Befehls wget unter Linux
  • Detaillierte Erklärung des wget-Befehls in Linux
  • Detaillierte Einführung in den wget-Befehl in Linux
  • Detaillierte Erklärung des wget-Befehls in Linux

<<:  Detaillierte Erklärung des Vue-Datenproxys

>>:  Beispiele für die Implementierung von Fortschrittsbalken und Reihenfolge-Fortschrittsbalken mit CSS

Artikel    

Artikel empfehlen

Einführung in HTML für Frontend-Entwickler

1 Einführung in HTML 1.1 Erste Erfahrungen mit Co...

Beispiel zum Überprüfen der Kapazität einer MySQL-Datenbanktabelle

Dieser Artikel stellt die Befehlsanweisungen zum ...

mysql8.0.11 Winx64 Installations- und Konfigurationstutorial

Das Installationstutorial für MySQL 8.0.11 WinX64...

Detaillierte Erläuterung der Hosts-Dateikonfiguration auf einem Linux-Server

Konfiguration der Hostdatei des Linux-Servers Die...

Diagramm zur Installation von VMware 14 unter Windows 10

Software-Download Link zum Herunterladen der Soft...

Designperspektive Technologie ist ein wichtiges Kapital der Designfähigkeit

Ein Designsoldat fragte: „Kann ich nur reines Des...

Mehrere Implementierungsmethoden der Tab-Leiste (empfohlen)

Registerkarten: Kategorie + Beschreibung Tag-Leis...

VMware vSAN - Zusammenfassung der ersten Schritte

1. Hintergrund 1. Stellen Sie kurz den Shared Sto...

Ist ein Design, das den Designspezifikationen entspricht, ein gutes Design?

In den letzten Jahren meiner Karriere habe ich an...

Schritte zur VSCode-Konfiguration mit der Git-Methode

Git ist in vscode integriert und viele Vorgänge k...