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

Ist wget oder ähnliche Programme auf POSIX-Systemen immer verfügbar?

Offizielle Liste der POSIX 7-Dienstprogramme

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html

Die folgenden sind nicht in der Liste vorhanden:

  • wget
  • locken
  • ftp

Dasselbe gilt für das LSB, das im Wesentlichen nur die POSIX-Dienstprogramme garantiert.

Aber ich denke, dass POSIX C ausreicht, um den größten Teil von netcat zu implementieren Funktionalität, also ist es wirklich eine verpasste Gelegenheit. Beispiel:Wie erstelle ich eine HTTP-Get-Anfrage in C ohne libcurl?

Wahrscheinlich liegt es daran, dass Netzwerkprotokolle wie HTTP zu der Zeit, als sich POSIX noch weiterentwickelte, als zu spezifisch galten/nicht existierten und POSIX im Grunde für immer einfror. Insbesondere ist die HTTPS-Verschlüsselung wahrscheinlich nicht einfach zu implementieren.


Curl ist wahrscheinlich noch häufiger als wget. Zumindest nach meiner Erfahrung, nur weil mehr andere Tools davon abhängen. Aber sowohl curl als auch wget lassen sich supereinfach installieren und sind auf jedem System verfügbar.


Bearbeiten am 04.11.2019:Ich schreibe meine Antwort um, um zu verdeutlichen, wie wichtig es ist, sicherzustellen, dass eine Übertragung während des Fluges nicht manipuliert wird. Ich lasse meine ursprüngliche Antwort unter der Regel stehen.

Ich schlage vor, rsync zu verwenden über ssh um Ihre Dateien zu übertragen. rsync Die Benutzeroberfläche von sieht vielleicht überwältigend aus, aber die meisten Benutzer können vielleicht rsync -avzP auswählen , und wenn Sie mehr Flexibilität benötigen, kann sich rsync anpassen. Mit ssh wird Ihrer Verbindung Integrität, Authentizität und Datenschutz verleihen.

curl ist der De-facto-Standard für HTTP-Übertragungen; wenn normales http oder https bevorzugt wird, curl oder Tools basierend auf curl sind wahrscheinlich eine gute Wahl.

Meiner Erfahrung nach sind Tools etwa in dieser Reihenfolge verfügbar:

  • wget
  • curl
  • sftp
  • ftp
  • GET (Ich verwende HEAD ständig und vergessen oft, dass es nur ein Tool in der Suite ist)
  • tftp
  • nc (nicht so häufig wie ich möchte)
  • socat (noch seltener)

Die bash /dev/tcp Tool ist auf den meisten Systemen verfügbar, die ich verwendet habe (einige verwendeten dash oder pdksh stattdessen), aber mit echo mit bash , nc , oder socat geht den langen Weg für den HTTP-Zugriff - Sie müssen Header irgendwie handhaben , was seine Eleganz mindert.


gnu awk (gawk) hat TCP-Handling sogar auf Nicht-Linux-Systemen eingebaut http://www.gnu.org/software/gawk/manual/gawkinet/html_node/


Linux
  1. Was ist ein cURL-Befehl und wie wird er verwendet?

  2. Auf welchen Systemen unterscheidet sich //foo/bar von /foo/bar?

  3. Welches ist das portabelste von Sed, Awk, Perl und Sh?

  4. Warum handelt „wget -r -e Robots=off Http://ccachicago.org“ nicht rekursiv?

  5. Holen Sie sich die endgültige URL, nachdem curl umgeleitet wurde

Verwenden von Curl zum Erstellen von REST-API-Anforderungen

MIME-Typ-Programme

Welche Schnittstellen-Mockup-Programme sind verfügbar?

Was ist der Unterschied zwischen Curl und Wget?

15 praktische Beispiele für cURL-Befehle unter Linux (cURL-Download-Beispiele)

Welches sind die Standardbefehle, die in jeder Linux-basierten Distribution verfügbar sind?