wget
『wget』はコマンドラインからファイルをダウンロードするツールです。HTTP・HTTPS・FTP に対応しており、再帰的なダウンロードやバックグラウンド実行も得意としています。
構文
基本的なダウンロードを実行します。
wget URL
ファイル名を指定して保存します。
wget -O 出力ファイル名 URL
保存先ディレクトリを指定します。
wget -P 保存先ディレクトリ URL
バックグラウンドでダウンロードします。
wget -b URL
再帰的にダウンロードします(サイト丸ごと)。
wget -r URL
静かモードで実行します(進捗非表示)。
wget -q URL
オプション一覧
| オプション | 概要 |
|---|---|
| -O ファイル | 保存するファイル名を指定します。 |
| -P ディレクトリ | 保存先ディレクトリを指定します。 |
| -q | 進捗・メッセージを表示しないサイレントモードです。 |
| -v | 詳細なログを表示します(デフォルト)。 |
| -b | バックグラウンドでダウンロードします。 |
| -c | 中断したダウンロードを再開します。 |
| -r | 再帰的にダウンロードします。 |
| -l 深さ | 再帰ダウンロードの深さを指定します(-r と組み合わせ)。 |
| -np | 親ディレクトリへ遡らないようにします(-r と組み合わせ)。 |
| -A 拡張子 | ダウンロードするファイルの拡張子を絞り込みます。 |
| --limit-rate=速度 | ダウンロード速度を制限します(例: 1m で 1MB/s)。 |
| --tries=回数 | 失敗時のリトライ回数を指定します。 |
| --timeout=秒 | 接続タイムアウトを指定します。 |
| -i ファイル | URL リストのテキストファイルを読み込んで一括ダウンロードします。 |
| --user-agent=文字列 | User-Agent を指定します。 |
サンプルコード
ファイルをダウンロードします。デフォルトでは進捗が詳細に表示されます。
wget https://example.com/file.txt --2026-03-06 12:00:00-- https://example.com/file.txt Resolving example.com... 93.184.216.34 Connecting to example.com|93.184.216.34|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1024 (1.0K) [text/plain] Saving to: 'file.txt' file.txt 100%[===================>] 1.00K --.-KB/s in 0s 2026-03-06 12:00:01 (10.0 MB/s) - 'file.txt' saved [1024/1024]
ファイル名を指定して保存します。
wget -O /tmp/archive.tar.gz https://example.com/release-1.0.tar.gz
保存先ディレクトリを指定してダウンロードします。
wget -P /opt/downloads https://example.com/file.zip
速度を制限してバックグラウンドでダウンロードします。
wget -b --limit-rate=500k https://example.com/large-file.iso Continuing in background, pid 12345. Output will be written to 'wget-log'.
ダウンロードが中断した場合、『-c』で続きからダウンロードを再開します。
wget -c https://example.com/large-file.iso
URL リストをファイルから読み込んで一括ダウンロードします。
cat urls.txt https://example.com/file1.txt https://example.com/file2.txt https://example.com/file3.txt wget -i urls.txt -P downloads/
サイトの画像だけを再帰的に取得します(2階層まで)。
wget -r -l 2 -A jpg,png -np https://example.com/gallery/
スクリプトに組み込む場合は『-q』(サイレント)で出力を抑制し、終了コードでエラー判定します。
download.sh
wget -q -O /tmp/data.json https://api.example.com/data echo "終了コード: $?"
bash download.sh 終了コード: 0
概要
『$ wget』は『-c』オプションによる途中再開が強みで、大きなファイルのダウンロードに適しています。『-r』(再帰)と『-A』(拡張子フィルタ)を組み合わせると特定ファイルだけをまとめて取得できます。
スクリプトに組み込む場合は『-q』(サイレント)を付けてログを抑制し、終了コード(『$?』)でエラー判定するのが定番です。HTTP リクエストを細かく制御したい場合は curl が適しています。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。