Linux wget コマンド完全ガイド|基本構文・自動ダウンロード・応用テクニックを徹底解説!

最終更新日 2025年2月19日

スポンサーリンク

Linux wget コマンドとは?基本概要を解説

本セクションでは以下の内容について解説します。

  1. wgetの基本機能とできること
  2. wgetとcurlの違い|どちらを使うべきか?
  3. wgetのインストール方法(Linux・Mac・Windows)
  4. まとめ

wgetの基本機能とできること

wget は、Linuxでよく使われるファイルダウンロード専用のコマンドラインツールであり、HTTP・HTTPS・FTPといったプロトコルを利用して、URLからファイルを取得すことができます。特に、再帰的なダウンロードやリトライ機能を備えており、Webサイトのミラーリングや一括ダウンロードに便利です。

主な機能

  • 単一ファイルのダウンロードwget URL
  • リトライ&中断したダウンロードの再開-c オプション)
  • Webサイトの再帰的ダウンロード-r --mirror
  • 複数ファイルの一括ダウンロード-i ファイル名
  • プロキシ・認証対応--proxy-user --user --password
  • ダウンロード速度の制限--limit-rate
新人エンジニア
新人エンジニア

wget って curl と何が違うんですか?

先輩エンジニア
先輩エンジニア

wgetダウンロード特化で、リトライや再帰的ダウンロードができる。一方で curl はデータ送受信全般に使えるけど、デフォルトではダウンロードしたデータを保存しないんだ。

新人エンジニア
新人エンジニア

ファイルのダウンロードだけなら、wget の方が便利ってことですね?

先輩エンジニア
先輩エンジニア

そう。特に途中で止まったファイルの再開(-c)ができるのが wget の強みだね。

curlコマンドについては以下の記事で紹介しているのでよかったら見てみてください!

wgetとは?基本概要

ファイルダウンロード専用ツール

wgetは、HTTP、HTTPS、FTPプロトコルを使用してURLからファイルを取得するLinuxコマンドラインツールです。

主な機能

単一ファイルのダウンロード、リトライ機能、中断したダウンロードの再開、Webサイトの再帰的ダウンロードなどが可能です。

curlとの違い

wgetはダウンロード特化で、curlはデータ送受信全般に使えます。wgetは自動的にファイルを保存する点が特徴です。
wgetとは?基本概要
スポンサーリンク

wgetとcurlの違い|どちらを使うべきか?

wgetファイルダウンロード専用であり、リトライや一括ダウンロードなどの機能が充実している。一方、curl幅広い通信プロトコルに対応したデータ送受信用ツールで、APIリクエストやPOST送信なども可能。用途によって使い分けるのがベスト。

特徴wgetcurl
目的ファイルダウンロード特化データ送受信用の汎用ツール
ダウンロードデフォルトでファイル保存-o を指定しないと標準出力
再開機能-c で中断したダウンロードを再開--continue-at が必要
サイトミラー--mirror で可能できない
POST/PUT対応不可可能(API操作向け)
新人エンジニア
新人エンジニア

wgetcurl の使い分けは?

先輩エンジニア
先輩エンジニア

ダウンロードなら wget。APIを叩いたり、データを送信したいなら curl かな。

新人エンジニア
新人エンジニア

じゃあ、ファイルをダウンロードして保存するには curl だと不便?

先輩エンジニア
先輩エンジニア

そうだね。curl -O URL のように -O をつければファイル保存できるけど、デフォルトでは標準出力に流れるから wget の方が簡単だよ。

新人エンジニア
新人エンジニア

Webサイトのミラーリングも curl じゃできないんですか?

先輩エンジニア
先輩エンジニア

そう。wget --mirror なら一発でサイト全体を保存できるけど、curl だと個別にURLを指定してダウンロードするしかない。

スポンサーリンク

wgetのインストール方法(Linux・Mac・Windows)

wget はほとんどのLinuxディストリビューションにプリインストールされているが、ない場合はパッケージマネージャを使って簡単にインストールできる。MacやWindowsでも対応可能。

Debian/Ubuntu系

sudo apt update && sudo apt install wget

Red Hat/CentOS系

sudo yum install wget

Arch Linux

sudo pacman -S wget

Macでのインストール

MacではHomebrewを使ってインストール可能です。

brew install wget

Windowsでのインストール

Windowsでは winget を使うか、GNU公式サイト からインストーラをダウンロードします。

winget install GNU.Wget
新人エンジニア
新人エンジニア

Linuxだと wget って最初から入ってますか?

先輩エンジニア
先輩エンジニア

ディストリビューションによるけど、Debian系なら大体プリインストールされてるよ。wget --version で確認してみて。

新人エンジニア
新人エンジニア

MacやWindowsでも使えますか?

先輩エンジニア
先輩エンジニア

うん、Macなら brew install wget、Windowsなら winget install wget で簡単に入るよ。

新人エンジニア
新人エンジニア

Windowsだと wget が動かないことがあるって聞いたんですが…

先輩エンジニア
先輩エンジニア

うん、環境変数にパスを通さないと wget コマンドが認識されないことがあるから、手動でパスを設定する必要があるね。

wgetのインストール方法

Linux(Debian/Ubuntu系)

sudo apt update && sudo apt install wget

Mac

brew install wget

Windows

winget install GNU.Wget
wgetのインストール方法
スポンサーリンク

まとめ

  • wgetファイルダウンロード専用のコマンドで、リトライ・再開・ミラーリングに対応
  • wgetcurl の違いは用途(ダウンロードなら wget、API操作なら curl
  • Linux/Mac/Windows どの環境でも簡単にインストールできる

次のセクションでは、wget基本構文と使い方について詳しく解説していきます。

wgetコマンドの基本構文と使い方

本セクションでは以下の内容について解説します。

wgetの基本的な構文とオプション一覧

wget コマンドは、指定したURLからファイルをダウンロードするシンプルなコマンドです。基本構文は以下のとおりです。

wget [オプション] URL

主なオプション一覧

オプション説明
-O保存ファイル名を指定
-Pダウンロード先ディレクトリを指定
-c途中で止まったダウンロードを再開
-r再帰的にダウンロード
--limit-rateダウンロード速度を制限
--timeout=秒タイムアウトを設定
--tries=回数リトライ回数を指定
新人エンジニア
新人エンジニア

基本構文って wget URL だけですか?

先輩エンジニア
先輩エンジニア

うん、単純なファイルダウンロードならそれでOK。でも、保存先やリトライ設定をしたいならオプションを使うと便利だよ。

新人エンジニア
新人エンジニア

途中で止まったダウンロードを再開できますか?

先輩エンジニア
先輩エンジニア

-c オプションを使えばできるよ。

wgetの基本構文

wget [オプション] URL

-O

保存ファイル名を指定

-P

ダウンロード先ディレクトリを指定

-c

途中で止まったダウンロードを再開

-r

再帰的にダウンロード
wgetの基本構文
スポンサーリンク

指定URLからファイルをダウンロードする方法

wget でURLを指定すると、そのファイルをカレントディレクトリにダウンロードできます。

wget https://example.com/file.zip
新人エンジニア
新人エンジニア

ダウンロードしたファイルはどこに保存されますか?

先輩エンジニア
先輩エンジニア

コマンドを実行したカレントディレクトリに保存されるよ。

新人エンジニア
新人エンジニア

ファイル名が長すぎる場合、簡単な名前で保存できますか?

先輩エンジニア
先輩エンジニア

-O オプションを使えば、好きな名前で保存できるよ。

基本的なファイルダウンロード

wget https://example.com/file.zip

このコマンドを実行すると、指定したURLからファイルをカレントディレクトリにダウンロードします。ファイル名を変更したい場合は、-O オプションを使用します。

wget -O myfile.zip https://example.com/file.zip
基本的なファイルダウンロード
スポンサーリンク

ダウンロード先を指定する方法 -O

-O オプションを使うと、ファイル名を指定して保存できます。

wget -O myfile.zip https://example.com/file.zip
新人エンジニア
新人エンジニア

URLのファイル名と違う名前で保存できますか?

先輩エンジニア
先輩エンジニア

-O を使えば、好きな名前で保存できるよ。

新人エンジニア
新人エンジニア

ダウンロード先のフォルダも指定できますか?

先輩エンジニア
先輩エンジニア

-P オプションを使えば、特定のディレクトリに保存できるよ。

ダウンロード先の指定

ファイル名指定

wget -O myfile.zip https://example.com/file.zip

ディレクトリ指定

wget -P /path/to/directory https://example.com/file.zip
ダウンロード先の指定
スポンサーリンク

プロキシを設定してwgetを使う方法

社内ネットワークや制限のある環境では、プロキシ設定が必要になることがあります。環境変数を使うことで wget にプロキシを設定できます。

環境変数を使った設定

export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"

wgetコマンドで直接指定する方法

wget --proxy=on --proxy-user=username --proxy-password=password https://example.com/file.zip
新人エンジニア
新人エンジニア

プロキシ環境下で wget が動かないんですが?

先輩エンジニア
先輩エンジニア

環境変数 http_proxy https_proxy を設定した?

新人エンジニア
新人エンジニア

プロキシのユーザー名とパスワードを設定できますか?

先輩エンジニア
先輩エンジニア

--proxy-user --proxy-password オプションを使えば設定できるよ。

プロキシ設定

環境変数を使用

export http_proxy="http://proxy.example.com:8080" export https_proxy="http://proxy.example.com:8080"

コマンドで直接指定

wget --proxy=on --proxy-user=username --proxy-password=password https://example.com/file.zip
プロキシ設定
スポンサーリンク

エラーハンドリングとリトライオプション --tries --timeout

ネットワークが不安定な場合、wget はリトライ回数やタイムアウトを設定することでダウンロードを安定させることができます。

リトライ回数の設定

wget --tries=10 https://example.com/file.zip

※デフォルトは20回

タイムアウトの設定

wget --timeout=30 https://example.com/file.zip

※30秒でタイムアウト

新人エンジニア
新人エンジニア

wget でタイムアウトが発生するときの対処法は?

先輩エンジニア
先輩エンジニア

--timeout=秒数 で待機時間を増やしてみて。

新人エンジニア
新人エンジニア

サーバーが遅いとき、wget のリトライ回数を増やせますか?

先輩エンジニア
先輩エンジニア

--tries=回数 を指定すればOK。

エラーハンドリングとリトライ

リトライ回数の設定

wget --tries=10 https://example.com/file.zip

タイムアウトの設定

wget --timeout=30 https://example.com/file.zip
エラーハンドリングとリトライ
スポンサーリンク

wgetのダウンロードを一時停止・再開する方法 -c

-c オプションを使えば、途中で止まったダウンロードを再開できます。

ダウンロードを再開するコマンド

wget -c https://example.com/largefile.zip
新人エンジニア
新人エンジニア

途中で止まったダウンロードを再開する方法は?

先輩エンジニア
先輩エンジニア

-c オプションを使えば続きからダウンロードできるよ。

新人エンジニア
新人エンジニア

サーバー側が再開をサポートしていない場合は?

先輩エンジニア
先輩エンジニア

-c を使っても最初からダウンロードされることがある。その場合は分割ダウンロードできる aria2 を検討するといいよ。

ダウンロードの一時停止と再開

-c オプションを使用すると、途中で止まったダウンロードを再開できます。

wget -c https://example.com/largefile.zip

これは特に大きなファイルをダウンロードする際に便利です。ネットワークが不安定な環境でも、途中で切断されても続きからダウンロードを再開できます。
ダウンロードの一時停止と再開
スポンサーリンク

まとめ

  • wget URL で簡単にファイルをダウンロードできる
  • -O でファイル名指定、-P で保存先指定が可能
  • --tries --timeout でエラーハンドリング
  • -c で中断したダウンロードを再開

次のセクションでは、wget応用テクニックについて詳しく解説します。

wgetの応用テクニック|効率的な使い方

本セクションでは以下の内容について解説します。

  1. 指定フォルダに複数ファイルを一括ダウンロードする方法 -i
  2. wgetで特定の拡張子のファイルだけをダウンロードする方法
  3. Webサイトを丸ごとダウンロードする方法 –mirror
  4. wgetを使ったWebスクレイピングの基本
  5. wgetで特定の時間に自動ダウンロードを実行する方法(cronとの連携)
  6. まとめ

指定フォルダに複数ファイルを一括ダウンロードする方法 -i

複数のURLから一括でファイルをダウンロードする場合、URLをリスト化したテキストファイルを作成し、-i オプションで指定することで簡単に処理できます。

使い方

❶URLリストを作成

❷wget で一括ダウンロード

wget -i urls.txt
新人エンジニア
新人エンジニア

wget で複数のファイルを一括ダウンロードする方法は?

先輩エンジニア
先輩エンジニア

URLをテキストファイルにリスト化して、-i オプションを使えばOK。

新人エンジニア
新人エンジニア

ダウンロード先フォルダを指定できますか?

先輩エンジニア
先輩エンジニア

-P オプションを使えば好きなフォルダに保存できるよ。
wget -i urls.txt -P /path/to/destination/

複数ファイルの一括ダウンロード

URLリストの作成

ダウンロードしたいファイルのURLをテキストファイルにリスト化します。

-i オプションの使用

wget -i urls.txt コマンドを実行して、リスト内のすべてのファイルをダウンロードします。

保存先の指定

必要に応じて -P オプションを追加し、ダウンロード先フォルダを指定します。
複数ファイルの一括ダウンロード
スポンサーリンク

wgetで特定の拡張子のファイルだけをダウンロードする方法

特定の拡張子を持つファイルだけをダウンロードする場合、--accept オプションを使います。

特定の拡張子(例:jpg, png)のみダウンロード

wget -r -A "*.jpg,*.png" https://example.com/images/
新人エンジニア
新人エンジニア

サイト内の画像ファイルだけをダウンロードできますか?

先輩エンジニア
先輩エンジニア

--accept オプションを使えば特定の拡張子だけ取得できるよ。

新人エンジニア
新人エンジニア

複数の拡張子を指定する方法は?

先輩エンジニア
先輩エンジニア

カンマ区切りで指定すればOK。

特定の拡張子のファイルのみダウンロード

wget -r -A "*.jpg,*.png" https://example.com/images/

この例では、指定したURLから.jpgと.png拡張子を持つファイルのみを再帰的にダウンロードします。-A オプションを使用することで、ダウンロードするファイルタイプを制限できます。
特定の拡張子のファイルのみダウンロード
スポンサーリンク

Webサイトを丸ごとダウンロードする方法 --mirror

wget --mirror を使うと、Webサイト全体を再帰的にダウンロードし、ローカルに保存できます。

サイトのミラーリング

wget --mirror --convert-links --adjust-extension --page-requisites --no-parent https://example.com/
新人エンジニア
新人エンジニア

Webサイトをそのままダウンロードする方法は?

先輩エンジニア
先輩エンジニア

--mirror を使うと、ページ内リンクも修正されるからオフラインで閲覧できるよ。

新人エンジニア
新人エンジニア

CSSや画像もダウンロードできますか?

先輩エンジニア
先輩エンジニア

--page-requisites を使えば関連ファイルも取得できるよ。

Webサイトの丸ごとダウンロード

wget --mirror --convert-links --adjust-extension --page-requisites --no-parent https://example.com/

--mirror

サイト全体を再帰的にダウンロード

--convert-links

ローカルでの閲覧用にリンクを変換

--page-requisites

ページの表示に必要なすべてのファイルをダウンロード
Webサイトの丸ごとダウンロード
スポンサーリンク

wgetを使ったWebスクレイピングの基本

wget は簡単なWebスクレイピングにも利用でき、--spider を使えばリンクのチェック、-r で再帰的にデータを収集できます。

リンクの一覧を取得

wget --spider -r -l 1 -nd -nv -o log.txt https://example.com/

log.txt にすべてのリンクが記録される。

新人エンジニア
新人エンジニア

wget でWebスクレイピングできますか?

先輩エンジニア
先輩エンジニア

簡易的なデータ収集なら -r--spider で可能だよ。

新人エンジニア
新人エンジニア

JSONデータを取得できますか?

先輩エンジニア
先輩エンジニア

wget はHTMLやファイルのダウンロード向け。JSON APIなら curl の方が適してるね。

Webスクレイピング
スポンサーリンク

wgetで特定の時間に自動ダウンロードを実行する方法(cronとの連携)

cron を使えば、特定の時間にwget を自動実行し、定期的なデータ取得が可能になります。

毎日午前3時にファイルをダウンロード

crontab -e

次に以下の行を追加します。

0 3 * * * wget -P /backup https://example.com/data.zip
新人エンジニア
新人エンジニア

wget で定期的にデータをダウンロードする方法は?

先輩エンジニア
先輩エンジニア

cron に登録すれば、指定した時間に自動で取得できるよ。

新人エンジニア
新人エンジニア

ログを記録する方法は?

先輩エンジニア
先輩エンジニア

>> log.txt 2>&1 をつけるとログが保存されるよ。
例:0 3 * * * wget -P /backup https://example.com/data.zip >> /var/log/wget.log 2>&1

cronと連携した自動ダウンロード
スポンサーリンク

まとめ

  • -i で複数ファイルを一括ダウンロード
  • --accept で特定の拡張子のみ取得
  • --mirror でWebサイトをローカルに保存
  • cron を使って定期的に自動ダウンロード

次のセクションでは、wgetトラブルシューティングについて詳しく解説します。

wgetを使ったトラブルシューティングとFAQ

  1. wgetが動かない?よくあるエラーと対処法
  2. SSLエラー発生時の対処法 –no-check-certificate
  3. wgetでダウンロード速度が遅い場合の対処法 –limit-rate
  4. 403 Forbidden エラーを回避する方法 –user-agent
  5. まとめ

wgetが動かない?よくあるエラーと対処法

wget が動かない場合、ネットワーク環境やコマンドのオプション設定、サーバーの制限が原因になっていることが多い。以下のチェックポイントを確認することで、解決できる可能性が高い。

基本的なチェックポイント

wget がインストールされているか確認

wget --version

⇒コマンドが見つからない場合はインストールする。

ネットワーク接続を確認

ping example.com

⇒pingが通らない場合はネットワークの問題。

ファイアウォールやプロキシの設定を確認

export http_proxy="http://proxy.example.com:8080"

権限エラー (Permission denied) の場合

sudo wget https://example.com/file.zip
新人エンジニア
新人エンジニア

wget を実行すると command not found って出るんですが?

先輩エンジニア
先輩エンジニア

wget --version を試して、入ってなければインストールしてみて。

新人エンジニア
新人エンジニア

ネットワークは繋がっているのに wget でダウンロードできません。

先輩エンジニア
先輩エンジニア

pingcurl で接続確認してみて。プロキシの影響も考えられるね。

wgetが動かない?トラブルシューティング
スポンサーリンク

SSLエラー発生時の対処法 --no-check-certificate

SSL証明書のエラーが発生した場合、--no-check-certificate オプションを使用すると回避できるが、セキュリティリスクがあるため慎重に使う。

エラーの例

ERROR: The certificate of ‘example.com’ is not trusted.

対処法

wget --no-check-certificate https://example.com/file.zip
新人エンジニア
新人エンジニア

SSL証明書エラーでダウンロードできません。

先輩エンジニア
先輩エンジニア

--no-check-certificate をつけると回避できるけど、フィッシングサイトには注意。

新人エンジニア
新人エンジニア

恒久的な対応策はありますか?

先輩エンジニア
先輩エンジニア

CA証明書を更新する方法もあるよ。Linuxなら ca-certificates パッケージを更新してみて。
sudo apt update && sudo apt install –reinstall ca-certificates

SSLエラーの対処法
スポンサーリンク

wgetでダウンロード速度が遅い場合の対処法 --limit-rate

サーバーの制限や回線速度の影響で wget のダウンロードが遅い場合、--limit-rate で速度を調整したり、並列ダウンロードツールを検討すると良い。

速度制限を設定

wget --limit-rate=500k https://example.com/file.zip

※500 KB/s に制限

並列ダウンロードを試す (aria2c の利用)

aria2c -x 4 https://example.com/file.zip

※ 4つの接続で高速ダウンロード

新人エンジニア
新人エンジニア

wget のダウンロードが異常に遅いんですが…

先輩エンジニア
先輩エンジニア

サーバーが速度制限をかけてるかも。--limit-rate を調整してみよう。

新人エンジニア
新人エンジニア

もっと速くダウンロードする方法はありますか?

先輩エンジニア
先輩エンジニア

wget は単一接続だから、並列ダウンロードできる aria2c を使うのも手。

ダウンロード速度が遅い場合の対処法

速度制限の設定

wget --limit-rate=500k https://example.com/file.zip

並列ダウンロードの利用

aria2c -x 4 https://example.com/file.zip
ダウンロード速度が遅い場合の対処法
スポンサーリンク

403 Forbidden エラーを回避する方法 --user-agent

403 Forbidden エラーは、サーバーが特定のクライアント(wget)からのアクセスをブロックしている場合に発生する。--user-agent を変更すると回避できることがある。

エラーの例

ERROR 403: Forbidden.

対処法

wget --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64)" https://example.com/file.zip
新人エンジニア
新人エンジニア

wget でダウンロードしようとすると 403 Forbidden になります。

先輩エンジニア
先輩エンジニア

サイトが wget からのアクセスをブロックしてる可能性があるね。--user-agent を変更して試してみて。

新人エンジニア
新人エンジニア

どの User-Agent を使えばいいですか?

先輩エンジニア
先輩エンジニア

ブラウザの User-Agent を使うのが一般的。Mozilla/5.0 あたりを指定すると回避できることが多いよ。

403 Forbidden エラーの回避方法

wget --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64)" https://example.com/file.zip

403 Forbidden エラーは、サーバーがwgetからのアクセスをブロックしている場合に発生することがあります。--user-agent オプションを使用して、ブラウザのUser-Agentを偽装することで回避できる場合があります。
403 Forbidden エラーの回避方法
スポンサーリンク

まとめ

  • wget が動かない場合 → インストール状況とネットワークを確認
  • SSLエラー対策--no-check-certificate を使用(ただしセキュリティリスクあり)
  • ダウンロードが遅い場合--limit-rate を調整 or aria2c で並列ダウンロード
  • 403 Forbidden の回避--user-agent を指定
wgetの応用

FTPサーバーからのダウンロード

wget ftp://username:password@ftp.example.com/file.zip

バックグラウンド実行

wget -b https://example.com/largefile.zip

ダウンロード履歴の保存

wget --append-output=wget.log https://example.com/file.zip

特定のファイルタイプの除外

wget --reject=png,jpg https://example.com/files/
wgetの応用
ゴリタンが愛用しているLinuxの教科書たち
https://amzn.to/4hBQa2y
https://a.r10.to/hkpc1F

この記事も参考になるかも!
この記事を書いた人!

ゴリタン

インフラエンジニアとして、ネットワークとサーバーの運用・保守・構築・設計に幅広く携わり、
現在は大規模政府公共データの移行プロジェクトを担当。

CCNPやLPICレベル3、AWSセキュリティスペシャリストなどの資格を保有しています。

あなたにオススメの広告
スポンサーリンク
Linux教科書