Oficiální seznam nástrojů POSIX 7
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html
Následující nejsou přítomný v seznamu:
- wget
- kroucení
- ftp
Totéž platí pro LSB, který v podstatě zaručuje pouze nástroje POSIX.
Ale myslím si, že POSIX C je dostačující k implementaci většiny netcat
funkčnost, takže je to opravdu promarněná příležitost. Např.:Jak udělat požadavek HTTP získat v C bez libcurl?
Pravděpodobně je to proto, že síťové protokoly jako HTTP byly považovány za příliš specifické/neexistovaly v době, kdy se POSIX stále vyvíjel, a POSIX v podstatě navždy zamrzl. Zejména implementace šifrování HTTPS pravděpodobně nebude triviální.
Curl je pravděpodobně ještě běžnější než wget. Alespoň podle mých zkušeností jen proto, že na něm závisí více jiných nástrojů. Ale curl i wget jsou super jednoduchou instalací a budou dostupné na jakémkoli systému.
Upravit v 2019-11-04:Přepisuji svou odpověď tak, aby odrážela důležitost zajištění toho, aby se s převodem během letu nemanipulovalo. Svou původní odpověď ponechám pod pravidlem.
Doporučuji použít rsync
více než ssh
pro přenos souborů. rsync
Rozhraní 's může vypadat ohromující, ale většina uživatelů si možná bude moci vybrat rsync -avzP
a pokud potřebujete větší flexibilitu, rsync se může přizpůsobit. Pomocí ssh
zajistí integritu, autenticitu a soukromí vašeho připojení.
curl
je de facto standardem pro přenosy http; pokud preferujete prosté http nebo https, curl
nebo nástroje založené na curl
jsou pravděpodobně dobrou volbou.
Podle mých zkušeností jsou nástroje dostupné v tomto pořadí:
wget
curl
sftp
ftp
GET
(PoužívámHEAD
neustále a často zapomínáme, že je to jen jeden nástroj v sadě)tftp
nc
(ne tak běžné, jak bych si přál)socat
(ještě méně časté)
bash
/dev/tcp
nástroj je k dispozici na většině systémů, které jsem používal (některé používaly dash
nebo pdksh
místo toho), ale pomocí echo
s bash
, nc
nebo socat
jde o dlouhou cestu kolem přístupu HTTP – budete muset nějak zacházet se záhlavími , což snižuje jeho eleganci.
gnu awk (gawk) zabudoval práci s TCP i na systémech, které nejsou linuxové http://www.gnu.org/software/gawk/manual/gawkinet/html_node/