最終更新日 2025年2月19日

Linux wget コマンドとは?基本概要を解説
本セクションでは以下の内容について解説します。
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とcurlの違い|どちらを使うべきか?
wget
はファイルダウンロード専用であり、リトライや一括ダウンロードなどの機能が充実している。一方、curl
は幅広い通信プロトコルに対応したデータ送受信用ツールで、APIリクエストやPOST送信なども可能。用途によって使い分けるのがベスト。
特徴 | wget | curl |
---|---|---|
目的 | ファイルダウンロード特化 | データ送受信用の汎用ツール |
ダウンロード | デフォルトでファイル保存 | -o を指定しないと標準出力 |
再開機能 | -c で中断したダウンロードを再開 | --continue-at が必要 |
サイトミラー | --mirror で可能 | できない |
POST/PUT対応 | 不可 | 可能(API操作向け) |

wget
と curl
の使い分けは?

ダウンロードなら 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
はファイルダウンロード専用のコマンドで、リトライ・再開・ミラーリングに対応wget
とcurl
の違いは用途(ダウンロードならwget
、API操作ならcurl
)- Linux/Mac/Windows どの環境でも簡単にインストールできる
次のセクションでは、wget
の基本構文と使い方について詳しく解説していきます。
wgetコマンドの基本構文と使い方
本セクションでは以下の内容について解説します。
- wgetの基本的な構文とオプション一覧
- 指定URLからファイルをダウンロードする方法
- ダウンロード先を指定する方法 -O
- プロキシを設定してwgetを使う方法
- エラーハンドリングとリトライオプション –tries –timeout
- wgetのダウンロードを一時停止・再開する方法 -c
- まとめ
wgetの基本的な構文とオプション一覧
wget
コマンドは、指定したURLからファイルをダウンロードするシンプルなコマンドです。基本構文は以下のとおりです。
wget [オプション] URL
主なオプション一覧
オプション | 説明 |
---|---|
-O | 保存ファイル名を指定 |
-P | ダウンロード先ディレクトリを指定 |
-c | 途中で止まったダウンロードを再開 |
-r | 再帰的にダウンロード |
--limit-rate | ダウンロード速度を制限 |
--timeout=秒 | タイムアウトを設定 |
--tries=回数 | リトライ回数を指定 |

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

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

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

-c
オプションを使えばできるよ。
![wgetの基本構文
wget [オプション] URL
-O
保存ファイル名を指定
-P
ダウンロード先ディレクトリを指定
-c
途中で止まったダウンロードを再開
-r
再帰的にダウンロード](https://www.goritarou.com/wp-content/uploads/2025/02/image-198-1024x463.png)
指定URLからファイルをダウンロードする方法
wget
でURLを指定すると、そのファイルをカレントディレクトリにダウンロードできます。
wget https://example.com/file.zip

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

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

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

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

ダウンロード先を指定する方法 -O
-O
オプションを使うと、ファイル名を指定して保存できます。
wget -O myfile.zip https://example.com/file.zip

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

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

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

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

プロキシを設定して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
オプションを使えば設定できるよ。

エラーハンドリングとリトライオプション --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のダウンロードを一時停止・再開する方法 -c
-c
オプションを使えば、途中で止まったダウンロードを再開できます。
ダウンロードを再開するコマンド
wget -c https://example.com/largefile.zip

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

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

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

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

まとめ
wget URL
で簡単にファイルをダウンロードできる-O
でファイル名指定、-P
で保存先指定が可能--tries
--timeout
でエラーハンドリング-c
で中断したダウンロードを再開
次のセクションでは、wget
の応用テクニックについて詳しく解説します。
wgetの応用テクニック|効率的な使い方
本セクションでは以下の内容について解説します。
- 指定フォルダに複数ファイルを一括ダウンロードする方法 -i
- wgetで特定の拡張子のファイルだけをダウンロードする方法
- Webサイトを丸ごとダウンロードする方法 –mirror
- wgetを使ったWebスクレイピングの基本
- wgetで特定の時間に自動ダウンロードを実行する方法(cronとの連携)
- まとめ
指定フォルダに複数ファイルを一括ダウンロードする方法 -i
複数のURLから一括でファイルをダウンロードする場合、URLをリスト化したテキストファイルを作成し、-i
オプションで指定することで簡単に処理できます。
使い方
❶URLリストを作成
cat > urls.txt <<EOF

Example Domain

Example Domain

Example Domain
EOF
❷wget で一括ダウンロード
wget -i urls.txt

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

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

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

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

wgetで特定の拡張子のファイルだけをダウンロードする方法
特定の拡張子を持つファイルだけをダウンロードする場合、--accept
オプションを使います。
特定の拡張子(例:jpg, png)のみダウンロード
wget -r -A "*.jpg,*.png" https://example.com/images/

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

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

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

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

Webサイトを丸ごとダウンロードする方法 --mirror
wget --mirror
を使うと、Webサイト全体を再帰的にダウンロードし、ローカルに保存できます。
サイトのミラーリング
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent https://example.com/

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

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

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

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

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
の方が適してるね。

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

まとめ
-i
で複数ファイルを一括ダウンロード--accept
で特定の拡張子のみ取得--mirror
でWebサイトをローカルに保存cron
を使って定期的に自動ダウンロード
次のセクションでは、wget
のトラブルシューティングについて詳しく解説します。
wgetを使ったトラブルシューティングとFAQ
- wgetが動かない?よくあるエラーと対処法
- SSLエラー発生時の対処法 –no-check-certificate
- wgetでダウンロード速度が遅い場合の対処法 –limit-rate
- 403 Forbidden エラーを回避する方法 –user-agent
- まとめ
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
でダウンロードできません。

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

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

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
を使うのも手。

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
あたりを指定すると回避できることが多いよ。

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


ゴリタン
インフラエンジニアとして、ネットワークとサーバーの運用・保守・構築・設計に幅広く携わり、
現在は大規模政府公共データの移行プロジェクトを担当。
CCNPやLPICレベル3、AWSセキュリティスペシャリストなどの資格を保有しています。