Elenco ufficiale delle utility POSIX 7
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html
I seguenti non presente nell'elenco:
- wget
- arricciare
- ftp
Lo stesso vale per LSB che essenzialmente garantisce solo le utilità POSIX.
Ma penso che POSIX C sia sufficiente per implementare la maggior parte di netcat
funzionalità, quindi è davvero un'occasione persa. Ad esempio:come fare una richiesta HTTP get in C senza libcurl?
Probabilmente è perché i protocolli di rete come HTTP erano considerati troppo specifici/non esistevano nel momento in cui POSIX si stava ancora evolvendo e POSIX sostanzialmente si è bloccato per sempre. In particolare, la crittografia HTTPS probabilmente non è banale da implementare.
Curl è probabilmente anche più comune di wget. Almeno nella mia esperienza semplicemente perché più altri strumenti dipendono da esso. Ma sia curl che wget sono un'installazione semplicissima e saranno disponibili su qualsiasi sistema.
Modifica nel 04-11-2019:sto riscrivendo la mia risposta per riflettere l'importanza di garantire che un trasferimento non venga manomesso durante il volo. Lascerò la mia risposta originale sotto la regola.
Suggerisco di usare rsync
oltre ssh
per trasferire i tuoi file. rsync
L'interfaccia di può sembrare travolgente, ma la maggior parte degli utenti potrebbe essere in grado di scegliere rsync -avzP
e se hai bisogno di maggiore flessibilità, rsync può adattarsi. Usando ssh
fornirà integrità, autenticità e privacy alla tua connessione.
curl
è lo standard de facto per i trasferimenti http; se si preferisce il semplice http o https, curl
o strumenti basati su curl
sono probabilmente una buona scelta.
Nella mia esperienza, gli strumenti sono disponibili in questo ordine:
wget
curl
sftp
ftp
GET
(Io usoHEAD
tutto il tempo e spesso dimentica che è solo uno strumento della suite)tftp
nc
(non così comune come vorrei)socat
(anche meno comune)
Il bash
/dev/tcp
tool è disponibile sulla maggior parte dei sistemi che ho usato (alcuni usavano dash
o pdksh
invece), ma usando echo
con bash
, nc
o socat
sta andando molto lontano per l'accesso HTTP -- dovrai gestire le intestazioni in qualche modo , che ne riduce l'eleganza.
gnu awk (gawk) ha integrato la gestione TCP anche su sistemi non Linux http://www.gnu.org/software/gawk/manual/gawkinet/html_node/