GNU/Linux >> Linux の 問題 >  >> Linux

wget または同様のプログラムは、POSIX システムで常に使用できますか?

POSIX 7 ユーティリティの公式リスト

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html

以下はありません リストに存在:

  • wget
  • カール
  • ftp

同じことが、基本的に POSIX ユーティリティのみを保証する LSB にも当てはまります。

しかし、netcat のほとんどを実装するには POSIX C で十分だと思います。 機能的であるため、本当にチャンスを逃しています。例:libcurl を使用せずに C で HTTP get リクエストを作成する方法は?

おそらく、HTTP のようなネットワーク プロトコルは、POSIX がまだ進化していた時点ではあまりにも具体的/存在しないと見なされ、POSIX は基本的に永久に凍結したためです。特に、HTTPS 暗号化の実装は簡単ではありません。


Curl は、おそらく wget よりも一般的です。少なくとも私の経験では、他のツールがそれに依存しているという理由だけです。ただし、curl と wget はどちらもインストールが非常に簡単で、どのシステムでも利用できます。


2019-11-04 に編集:飛行中に転送が改ざんされないようにすることの重要性を反映するために、回答を書き直しています。元の回答はルールの下に残します。

rsync を使用することをお勧めします ssh 以上 ファイルを転送します。 rsync のインターフェイスは圧倒的に見えるかもしれませんが、ほとんどのユーザーは rsync -avzP を選択できるかもしれません 、さらに柔軟性が必要な場合は、rsync を使用できます。 ssh の使用 接続に整合性、信頼性、およびプライバシーを提供します。

curl http転送の事実上の標準です。プレーンな http または https が優先される場合、curl または curl に基づくツール おそらく良い選択です。

私の経験では、ツールは次の順序で利用できます:

  • wget
  • curl
  • sftp
  • ftp
  • GET (私は HEAD を使用します 常に、スイート内の 1 つのツールにすぎないことを忘れがちです)
  • tftp
  • nc (私が望むほど一般的ではありません)
  • socat (あまり一般的ではありません)

bash /dev/tcp ツールは、私が使用したほとんどのシステムで利用できます (一部は dash を使用しました) または pdksh 代わりに)、ただし echo を使用 bash で 、 nc 、または socat は、HTTP アクセスの長い道のりを歩んでいます -- ヘッダーを処理する必要があります 何とか 、そのエレガンスを低下させます。


gnu awk (gawk) には、非 Linux システムでも TCP ハンドリングが組み込まれています http://www.gnu.org/software/gawk/manual/gawkinet/html_node/


Linux
  1. cURLコマンドとは何ですか?その使用方法は?

  2. curlとwgetのヒントとコツ

  3. // foo/barは/foo/ barとどのシステムで異なりますか?

  1. 「wget-r-eRobots =off Http://ccachicago.org」が再帰的に動作しないのはなぜですか?

  2. curl がリダイレクトされた後に最終 URL を取得する

  3. Wget で HTTP PUT を実行するにはどうすればよいですか?

  1. Sed、Awk、Perl、Shの中で最もポータブルなのはどれですか?

  2. Linux - 1 つのファイル内で複数のファイル システムをフォーマットする方法は?

  3. すべての Linux ベースのディストリビューションで使用できる標準コマンドはどれですか?