編集済み 3 数週間前 によって ExtremeHow 編集チーム
コマンドラインネットワーキングHTTPリクエストファイル転送ダウンロードユーティリティスクリプティング自動化ウェブツール
翻訳が更新されました 3 数週間前
Linuxは、多様なタスクに広く使用されている強力なオペレーティングシステムです。コマンドラインを介してウェブと対話する最も一般的なツールはwget
とcurl
です。これらのツールは、ファイルをダウンロードしたり、HTTPリクエストを行ったり、ターミナルから直接インターネットリソースと対話したりする必要があるすべての人にとって必須です。このガイドでは、wget
およびcurl
コマンドの基本を紹介し、その違いについて説明し、効果的に使用する方法を示します。
wget
は、ウェブからファイルをダウンロードするためのコマンドラインユーティリティです。HTTP、HTTPS、およびFTPプロトコルをサポートしており、ウェブリソースと対話するための多用途なツールです。始めるには、Linuxシステムにwget
がインストールされているかどうかを確認する必要があります。ターミナルを開いて、次のコマンドを入力してください:
wget --version
wget
がインストールされている場合、そのバージョン番号が表示されます。インストールされていない場合は、ディストリビューションのパッケージマネージャーを使用してインストールできます。たとえば、UbuntuまたはDebianでは以下のコマンドを使用します:
sudo apt-get install wget
Fedoraでは、次のコマンドを使用します:
sudo dnf install wget
wget
がインストールされたら、ファイルをダウンロードするために使用できます。wget
を使用する最も簡単な方法は、コマンドの後にダウンロードしたいファイルのURLを入力することです:
wget http://example.com/file.txt
このコマンドはhttp://example.com
からfile.txt
をダウンロードし、現在のディレクトリに保存します。wget
は、指定がない限り、現在のディレクトリを基準にファイルを保存します。
wget
の最も便利な機能の1つは、中断したダウンロードを再開できることです。ダウンロードが中断された場合、-c
オプションを使用して再開できます:
wget -c http://example.com/largefile.zip
largefile.zip
がすでに部分的にダウンロードされている場合、このコマンドはダウンロードを再開します。
wget
を使って複数のファイルをダウンロードするには、ダウンロードしたいURLのリストを含むテキストファイルを使用できます。たとえば、urls.txt
という名前のファイルを作成し、そのファイルに-i
オプションでwget
に渡します:
wget -i urls.txt
このコマンドは、urls.txt
にリストされたすべてのファイルをダウンロードします。
wget
は再帰的なダウンロードもサポートしており、ウェブサイト全体のミラーリングに役立ちます。wget
にファイルを再帰的にダウンロードさせるには、-r
オプションを使用します:
wget -r http://example.com
このコマンドは、指定されたウェブページからリンクされたすべてのファイルを、デフォルトでリンクの深さ5までダウンロードします。
一部の場合、帯域幅の過剰消費を避けるためにダウンロード速度を制限したいかもしれません。--limit-rate
オプションを使用してダウンロード速度を制限できます:
wget --limit-rate=100k http://example.com/file.iso
このコマンドは、100キロバイト毎秒の最大速度でファイルをダウンロードします。
curl
は、ウェブリソースと対話するためのもう1つのコマンドラインツールであり、特に単純なファイルダウンロード以外のリクエストを実行する場合にwget
よりも多用途です。curl
がインストールされているか確認するには、次のように入力します:
curl --version
もしcurl
がインストールされていない場合、次のコマンドを使用してインストールできます:
UbuntuまたはDebianで:
sudo apt-get install curl
Fedoraで:
sudo dnf install curl
curl
の最も簡単な使い方は、URLの内容を直接ターミナルに表示することです。次のように入力して実現できます:
curl http://example.com
このコマンドはhttp://example.com
からコンテンツを取得し、ターミナルウィンドウに表示します。
wget
とは異なり、curl
はデフォルトでファイルを保存しません。出力をファイルに保存するには、-o
オプションを使用し、希望するファイル名を続けて入力します:
curl -o file.txt http://example.com/file.txt
このコマンドはfile.txt
をダウンロードし、現在のディレクトリにfile.txt
として保存します。
curl
で部分的にダウンロードしたファイルを再開するには、-C -
オプションを使用します:
curl -C - -o file.txt http://example.com/file.txt
このコマンドはダウンロードを再開し、中断したところから続行します。
curl
はHTTPリクエストを行うために非常に強力であり、POST、PUT、DELETEなどのさまざまなリクエストタイプを処理できます。GETリクエスト(デフォルト)は、次のように入力するだけで行えます:
curl http://api.example.com/data
POSTリクエストを行うには、-d
オプションを使用してデータを送信することができます:
curl -d "param1=value1¶m2=value2" http://api.example.com/post
これにより、param1
とparam2
のパラメータを含むPOSTリクエストが送信されます。
curl
はリクエストにカスタムヘッダーを追加することができ、APIとのやり取りに役立ちます。-H
オプションを使用してヘッダーを追加します:
curl -H "Authorization: Bearer token" http://api.example.com/data
このコマンドは、ベアラートークンを持つAuthorization
ヘッダーを追加します。
双方のwget
およびcurl
は、プロキシサーバーを使用してリクエストを行うことができます。wget
用には、http_proxy
およびhttps_proxy
環境変数を設定してプロキシを指定できます:
export http_proxy="http://proxyaddress:port"
wget http://example.com/file.txt
curl
用には、-x
オプションを使ってプロキシを指定できます:
curl -x http://proxyaddress:port http://example.com/file.txt
コマンドラインからLinuxでウェブリソースと対話するための極めて便利なツールです。wget
は直接的なファイルダウンロードに適しており、再帰的なダウンロードのような機能をサポートしています。一方、curl
はさまざまなHTTPリクエストを処理する上でより柔軟性があります。これらのツールを効率的に使用する方法を理解することで、Linuxのコマンドラインを扱う際にワークフローと生産性を大幅に向上させることが可能です。
結論として、wget
とcurl
コマンドを習得することは、ウェブとのインタラクションをよく行うユーザーにとって貴重な資産となり得ます。ファイルのダウンロードやAPIへのアクセス、ウェブサイトからのデータのスクレイピングなど、これらのツールは、ターミナルから直接目標を達成するための堅牢なメカニズムを提供します。
記事の内容に誤りがある場合, あなたは