GNU/Linux >> LINUX-Kenntnisse >  >> Linux

wget vs curl:So laden Sie Dateien mit wget und curl herunter

Frage: Normalerweise verwende ich wget, um Dateien herunterzuladen. Auf einigen Systemen ist wget nicht installiert und nur curl ist verfügbar. Können Sie mir anhand eines einfachen Beispiels erklären, wie ich eine Remote-Datei mit curl herunterladen kann? Gibt es einen Unterschied zwischen curl und wget?

Antwort: Auf hoher Ebene sind sowohl wget als auch curl Befehlszeilenprogramme, die dasselbe tun.

  • Sie können beide verwendet werden, um Dateien über FTP und HTTP(s) herunterzuladen.
  • Sie können HTTP-POST-Anforderungen auch mit curl und wget senden
  • Curl bietet jedoch APIs, die von Programmierern in ihrem eigenen Code verwendet werden können. curl verwendet libcurl, eine plattformübergreifende Bibliothek.
  • wget ist nur ein Befehlszeilentool ohne APIs.
  • Curl unterstützt auch viel mehr Protokolle, die wget nicht unterstützt. Zum Beispiel:SCP, SFTP, TFTP, TELNET, LDAP(S), FILE, POP3, IMAP, SMTP, RTMP und RTSP.
  • Die Verwendung von wget hat einen großen Vorteil. wget unterstützt rekursiven Download, während curl dies nicht tut.

Wget-Beispiele

Das folgende Beispiel lädt die Datei herunter und speichert sie unter demselben Namen wie der Remote-Server.

wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

Das folgende Beispiel lädt die Datei herunter und speichert sie unter einem anderen Namen als der Remoteserver. Dies ist hilfreich, wenn die Remote-URL den Dateinamen nicht in der URL enthält, wie im Beispiel unten gezeigt.

wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

Weitere Wget-Beispiele:Der ultimative Wget-Download-Leitfaden mit 15 großartigen Beispielen

Curl-Beispiele

$ curl -O http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 28 3762k   28 1085k    0     0  72771      0  0:00:52  0:00:15  0:00:37 54267

Option -O (Großbuchstabe O) ist wichtig. Ohne dies beginnt curl mit dem Ablegen der heruntergeladenen Datei auf der Standardausgabe. Mit -O lädt er die Dateien mit demselben Namen wie der Remote-Server herunter. Im obigen Beispiel laden wir strx25-0.9.2.1.tar.bz2 herunter, also hat die heruntergeladene Datei auch denselben Namen.

Anstelle von -O können Sie auch „–remote-name“ angeben, wie unten gezeigt. Beide sind gleich.

$ curl --remote-name http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

Während curl heruntergeladen wird, werden die folgenden nützlichen Informationen angezeigt:

  • % – Der Gesamtprozentsatz des Downloads, der bis jetzt abgeschlossen wurde. Wenn 100 % erreicht sind, ist der Download abgeschlossen. Im obigen Beispiel wurden nur 28 % der Datei heruntergeladen.
  • Gesamt – Die Gesamtgröße der Datei
  • Empfangen – Die Gesamtgröße der bisher heruntergeladenen Datei. Im obigen Beispiel wurden bisher 1.085.000 heruntergeladen (von insgesamt 3.762.000)
  • Xferd – Dies wird verwendet, wenn Sie einige Dateien auf den Remote-Server hochladen. Während des Hochladens wird hier die Gesamtgröße der bisher hochgeladenen Datei angezeigt. Da wir eine Datei herunterladen, ist dies in diesem Beispiel 0.
  • Durchschnittliche Dload-Geschwindigkeit – Zeigt die durchschnittliche Download-Geschwindigkeit an.
  • Durchschnittliche Upload-Geschwindigkeit – Beim Hochladen einer Datei wird hier die durchschnittliche Upload-Geschwindigkeit angezeigt
  • Gesamtzeit – Dies gibt die Gesamtzeit an, die zum Herunterladen (oder Hochladen) der gesamten Datei benötigt wird, basierend auf der aktuellen Download- (oder Upload-)Geschwindigkeit. In diesem Beispiel dauert das Herunterladen dieser Datei insgesamt ungefähr 52 Sekunden.
  • Zeitaufwand – Die Zeit, die curl bisher mit dem Herunterladen (oder Hochladen) der Datei verbracht hat. In diesem Beispiel hat es bisher 15 Sekunden gebraucht.
  • Verbleibende Zeit – Diese wird basierend auf „Gesamtzeit“ – „Verbrachte Zeit“ berechnet.
  • Aktuelle Geschwindigkeit – Zeigt die aktuelle Download-/Upload-Geschwindigkeit an. Vergleichen Sie dies mit dem durchschnittlichen Dload/Upload, um zu sehen, wie schnell oder langsam Ihr System derzeit herunterlädt.

Wenn Sie die Datei herunterladen und unter einem anderen Namen als dem Namen der Datei auf dem Remote-Server speichern möchten, verwenden Sie -o (kleines o) wie unten gezeigt. Dies ist hilfreich, wenn die Remote-URL den Dateinamen nicht in der URL enthält, wie im Beispiel unten gezeigt.

$  curl -o taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 50243  100 50243    0     0   170k      0 --:--:-- --:--:-- --:--:--  400k

Im obigen Beispiel gibt es keinen Dateinamen in der Remote-URL, es ruft nur ein PHP-Skript auf, das ihm einige Parameter übergibt. Die Datei wird jedoch heruntergeladen und als taglist.zip auf Ihrem lokalen System gespeichert. Anstelle von -o können Sie auch „–output“ angeben.

Weitere Curl-Beispiele:15 praktische Beispiele für cURL-Befehle unter Linux


Linux
  1. So extrahieren Sie .gz- und .tar.gz-Dateien unter Linux

  2. Wie kann ich feststellen, ob eine Datei von Wget heruntergeladen wird?

  3. 5 Wget-Befehlsbeispiele zum Herunterladen von Dateien unter Linux.

  4. Wie lade ich Dateien von der Befehlszeile mit dem Befehl wget herunter?

  5. So laden Sie eine Datei von URL in Linux herunter

So laden Sie eine Datei mit Wget über Proxy in Linux herunter

So laden Sie Dateien mit dem Curl-Befehl unter Linux herunter

So laden Sie Dateien mit dem Wget-Befehl unter Linux herunter

So verstecken Sie Ordner und Dateien in Linux mithilfe einer Textdatei

So komprimieren und extrahieren Sie Dateien mit dem Dateimanager

So laden Sie Dateien in Rocky Linux 8 über die Befehlszeile mit wget herunter