GNU/Linux >> Znalost Linux >  >> Linux

Je wget nebo podobné programy vždy dostupné na systémech POSIX?

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ám HEAD 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/


Linux
  1. wget vs curl:Jak stahovat soubory pomocí wget a curl

  2. Získat cílovou URL po přesměrování curl

  3. provádění požadavků HTTP pomocí cURL (pomocí PROXY)

  1. Linuxový skript s curl pro kontrolu, zda je webová služba aktivní

  2. Zkontrolujte existenci wget/curl

  3. Jak mohu provést HTTP PUT s Wget?

  1. Co je příkaz cURL a jak jej používat?

  2. Tipy a triky pro curl a wget

  3. Které standardní příkazy jsou dostupné v každé distribuci založené na Linuxu?