curlとWgetは、Linuxコマンドラインからサーバーにリクエストを送信するための最も一般的な2つのユーティリティです。
2つを交換していることに気付いた場合、1つは好奇心をそそるだけである場合、またはそれについてオンラインで古き良き議論を見たことがある場合は、知っておくと役立ついくつかの違いがあります。
どちらかをスムーズに使用できることを願っていますが、2つの基本的な違いを知っていると、両方を使用することをよりよく理解するのに役立ちます(そして、前述の質問に満ちた議論から何かを解決できることを願っています)。
curlとWgetの主な違い:出力の保存方法
curlとWgetの最も明らかな違いは、デフォルトではWgetがクエリされたWebページをシステムに保存するのに対し、curlはそれをターミナル出力に表示しますが保存しないことです。
ArchLinuxのホームページhttps://archlinux.org
にリクエストを送信する簡単な例から始めましょう。 。
まずcurlでリクエストします。
curl 'https://archlinux.org'
curlコマンドがWebページの生のコンテンツをどのように出力するかに注目してください。 Webブラウザの[ソースの表示]ボタンをクリックしたかのようです。
Wgetで同じウェブサイトを取得してみましょう:
wget 'https://archlinux.org'
それを見てください、WgetはcurlのようにWebページのコンテンツを表示しませんでした。しかし、Wgetがそれを表示しなかった場合、は 入れた?
そこで、2つのプログラムの最初の主な違いが出てきます。
デフォルトでは、WgetはWebサイトのコンテンツをindex.html
という名前のファイルに配置しています。 :
次に、cat index.html
を実行すると、ファイルの実際の内容を確認できます。 、curl
で見たのと同じ出力を生成します コマンド:
curlを使用してファイルを保存する場合は、-o
を使用する必要があります オプション:
curl -o <output_file> <web_URL>
それに加えて、curlとWgetを使用するときに気付く可能性のある違いは、実際にはそれだけです。他にも興味深いものがいくつかありますが、エンドユーザーとしてのどちらのツールの使用にもあまり影響を与えないでしょう。
curlはWgetよりもはるかに利用されており、携帯電話、コンピューター(WindowsやmacOSなどのOSを含む)、さらにはスマートウォッチ、スマート冷蔵庫、その他の同様のアイテムなどのモノのインターネットデバイスなどの環境で使用されています。
この次の部分は、主に開発者にとって重要です。 Curlには、Cなどのプログラミング言語でのネットワークリクエストをサポートするライブラリがありますが、wgetも厳密にはコマンドラインであり、プログラミング言語から操作する必要がある場合はうまく機能しません。
その一部は以前の理由と結びついており、curlがさまざまな種類の環境やデバイスで広く使用されている理由に貢献しています。
そしてそれはそれについてです!うまくいけば、この2つの違いは、一部の違いよりもはるかに小さいことがわかりました。
ただし、長期的に1つのツールを選択することにした場合は、curlをお勧めします。これは、私が自分のプロジェクトで使用しているものであり、Wgetよりもはるかに広く使用されています。
2つの間のより完全な要約をしたいですか? Daniel Stenberg(curlの作成者)によるcurl vs Wgetの記事をチェックしてください。これは、2つのツール間で異なるより高度なものの束になります。