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 verwendeHEAD
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/