Lista oficial de utilidades POSIX 7
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html
Los siguientes son no presentes en la lista:
- wget
- rizo
- ftp
Lo mismo ocurre con el LSB, que esencialmente solo garantiza las utilidades POSIX.
Pero creo que POSIX C es suficiente para implementar la mayor parte de netcat
funcionalidad, por lo que es realmente una oportunidad perdida. Por ejemplo:¿Cómo hacer una solicitud de obtención de HTTP en C sin libcurl?
Probablemente se deba a que los protocolos de red como HTTP se consideraron demasiado específicos/no existían en el momento en que POSIX aún estaba evolucionando, y POSIX básicamente se congeló para siempre. En particular, es probable que el cifrado HTTPS no sea trivial de implementar.
Curl es probablemente incluso más común que wget. Al menos en mi experiencia simplemente porque más herramientas dependen de él. Pero tanto curl como wget son una instalación súper simple y estarán disponibles en cualquier sistema.
Editar en 2019-11-04:Estoy reescribiendo mi respuesta para reflejar la importancia de garantizar que una transferencia no se altere durante el vuelo. Dejaré mi respuesta original debajo de la regla.
Sugiero usar rsync
sobre ssh
para transferir sus archivos. rsync
La interfaz de puede parecer abrumadora, pero la mayoría de los usuarios pueden elegir rsync -avzP
, y si necesita más flexibilidad, rsync puede adaptarse. Usando ssh
proporcionará integridad, autenticidad y privacidad a su conexión.
curl
es el estándar de facto para transferencias http; si se prefiere http simple o https, curl
o herramientas basadas en curl
son probablemente una buena opción.
Según mi experiencia, las herramientas están disponibles en este orden:
wget
curl
sftp
ftp
GET
(UsoHEAD
todo el tiempo y a menudo olvidan que es solo una herramienta en la suite)tftp
nc
(no tan común como quisiera)socat
(aún menos común)
El bash
/dev/tcp
La herramienta está disponible en la mayoría de los sistemas que he usado (algunos usaron dash
o pdksh
en su lugar), pero usando echo
con bash
, nc
, o socat
va por el camino largo para el acceso HTTP:tendrá que manejar los encabezados de alguna manera , lo que reduce su elegancia.
gnu awk (gawk) ha incorporado el manejo de TCP incluso en sistemas que no son Linux http://www.gnu.org/software/gawk/manual/gawkinet/html_node/