So laden Sie Dateien von der Linux-Konsole herunter

Das Herunterladen von Dateien aus dem Internet ist eine Notwendigkeit, die früher oder später entweder bei der täglichen Verwendung unseres Linux-Desktops oder bei Aufgaben der Serververwaltung immer auftritt. Deshalb schreibe ich diesen Artikel über das Herunterladen von Dateien von der Linux-Konsole .

Wir werden nicht immer eine grafische Oberfläche zur Verfügung haben, insbesondere wenn wir Server verwalten, daher werden wir in diesem Artikel nur über das Herunterladen von der Konsole sprechen.

Zum Herunterladen von Dateien benötigen Sie einen HTTP-Client oder ein HTTP-Programm, das die entsprechenden HTTP-Anforderungen sendet, um die Downloads zu starten. Unter Linux gibt es mehrere Programme dieses Typs, aber ich werde nur auf die gängigsten Programme eingehen, nämlich Wget, cURL und Axel. Die ersten beiden sind in der überwiegenden Mehrheit der Linux-Distributionen standardmäßig installiert und die bekanntesten. Ich habe mich jedoch für Axel entschieden, da Axel, obwohl es nicht so bekannt ist, eine Reihe von Funktionen aufweist, die uns in bestimmten Situationen dabei helfen können, Downloads zu beschleunigen .

Wir werden auch beim Herunterladen großer Dateien einen kurzen Vergleich anstellen, um festzustellen, was uns schnellere Download-Geschwindigkeiten ermöglicht.

Programme zum Herunterladen von Dateien von der Linux-Konsole

Wie wir bereits sagten, werden wir uns im Wesentlichen mit drei Programmen (Wget, cURL und Axel) befassen, die vom Linux-Terminal heruntergeladen werden können, und ich werde kurz auf die Optionen eingehen, die sie anbieten, um das für uns geeignete Programm auswählen zu können.

GNU Wget

Es ist unter Anwendern einfach als Wget bekannt und ist ein Tool, das von unserem Linux-Terminal aus funktioniert (Windows-Version ist ebenfalls verfügbar) und es uns ermöglicht, jeden Dateityp herunterzuladen. Als Hauptmerkmale haben wir:

  • Es werden verschiedene Protokolle unterstützt: HTTP, HTTPS und FTP.
  • Hiermit können unterbrochene Downloads zusammengefasst werden.
  • Es unterstützt HTTP-Cookies.
  • Es unterstützt die Verwendung von HTTP-Proxys.
  • Standardmäßig in praktisch allen Linux-Distributionen enthalten.
  • Es ist kostenlos und Open Source.
See also  So teilen Sie eine Datei in Linux vom Terminal aus

Die Bedienung ist recht einfach und wir haben ein komplettes Handbuch in englischer Sprache , das die Handhabung erleichtert. Ein einfaches Beispiel für einen Befehl zum Herunterladen einer Datei mit Wget ist:
wget https://www.vozidea.com/archivo.zip

cURL

Das umfassendste Terminal-Tool für die Bearbeitung von URLs und HTTP-Anfragen, da es sich nicht nur auf das Herunterladen, sondern auch auf das Ausführen von cURL-Aufgaben wie das Senden von E-Mails, das Behandeln von Telnet-Verbindungen usw. konzentriert Funktionen, die uns beim Herunterladen von Dateien interessieren:

  • Es unterstützt eine Vielzahl von Protokollen: HTTP, HTTPS, FTP, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet und TFTP.
  • Es unterstützt die Verwendung von HTTP-Cookies.
  • Es unterstützt die Verwendung von HTTP-Proxys und SOCKS-Proxys.
  • Unterstützung, um unterbrochene Downloads zusammenzufassen.
  • In vielen Linux-Distributionen standardmäßig enthalten.
  • Es ist völlig kostenlos und Open Source.

Mit einer solch breiten Funktionalität ist seine Verwendung etwas komplizierter als die von Wget, aber nicht viel. Wir haben auch ein englisches Handbuch voller Beispiele . Die grundlegendste Verwendung von cURL zum Herunterladen einer Datei ist:
curl https://www.vozidea.com/archivo.zip

Axel

Da es sich um das Herunterladen von Dateien von der Konsole handelt, habe ich mich für diese Anwendung entschieden, mit der wir auf einfache Weise große Dateien mit höherer Geschwindigkeit herunterladen können .

Zunächst muss ich eine der Optionen erläutern, die wir beim Herunterladen von Dateien mit dem HTTP-Protokoll haben, nämlich das Herunterladen mit Segmenten oder Bytebereichen, dh , die gleiche Datei kann in mehrere Segmente unterteilt werden und jedes Segment herunterladen individuell und damit erhöhen wir die Downloadgeschwindigkeit . Das Herunterladen nach Segmenten kann durchgeführt werden, wenn wir das HTTP-Protokoll und die zu sendenden Header gut kennen, sodass Sie mit Wget und cURL Dateien nach Segmenten herunterladen können. Im Fall von Wget müssen Sie direkt zu den HTTP-Headern --range während cURL die Option --range bietet, um einen Bereich einfacher zu definieren.

See also  Elmedia Player, ein außergewöhnlicher Player für MAC

Das Problem bei der Verwendung von cURL und Wget ist, dass wir die Segment-Download-Funktion nicht auf einfache Weise verwenden können, indem wir einen einfachen Befehl ausführen. Hier kommt Axel ins Spiel, mit dem wir Segmente mit einem einfachen Befehl herunterladen können. Standardmäßig teilt Axel die herunterzuladende Datei in vier Segmente auf, dies kann jedoch mit der Option -nx oder --num-connections=x nach Belieben angepasst werden, wobei x die Anzahl der Segmente ist.

Das einfachste Anwendungsbeispiel ist:
axel https://www.vozidea.com/archivo.zip

Die Installation auf Debian-basierten Distributionen wie Ubuntu, Mint und dergleichen ist sehr einfach:
sudo apt-get install axel

Axel hat keine gute Online-Dokumentationsseite, aber mit dem man axel man man kann sich ein Bild davon machen, wie es funktioniert.

Geschwindigkeitsvergleich beim Herunterladen von Dateien

Wir haben mit den drei Programmen mehrere Tests durchgeführt und konnten feststellen, dass sich Wget und cURL ähnlich verhalten, obwohl cURL uns fast immer etwas mehr Geschwindigkeit verliehen hat, aber keine großen Unterschiede.

Axel ist am schnellsten, wenn es darum geht, Dateien von Servern herunterzuladen, die die Geschwindigkeit jeder Verbindung begrenzen, wodurch die Download-Zeit sogar um die Hälfte reduziert wird. Auf Servern, die diese Einschränkung nicht aufweisen, sind die Ergebnisse jedoch ähnlich die von cURL und Wget.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *