1996年、まだブラウザでのダウンロードが不安定だった時代。
途中で切れたファイルを最初から落とし直すたびに、開発者たちは頭を抱えていた。
そんなとき、登場したのが wget。
「途中で止まった? なら続きから再開する」
「リンクが大量? まとめて全部拾ってくる」
シンプルだが徹底的に実用的なこのツールは、やがて数十年後も現役で使われる“無口な職人”となる。
-
年表
年 出来事 1996 GNUプロジェクトの一環としてwgetが登場 1998 再帰ダウンロード機能追加 2000 HTTPS対応 2004 Windows版が登場しクロスプラットフォーム化 2010 大規模ミラーリング用途で企業にも浸透 2020 wget2プロジェクト始動(パフォーマンス改善版) -
製作者
製作者:Hrvoje Nikšić(フルヴォイェ・ニクシッチ)
- クロアチア出身のソフトウェアエンジニア。
- 90年代、Webをコマンドラインから自在に扱えるようにするためにwgetを開発。
-
ストーリー
不安定なインターネットの救世主
1996年、ダウンロードは地獄だった。
モデム回線で数MBのファイルを落とすのに数時間。途中で切断されれば最初からやり直し。
開発者たちは、夜通し端末の前に座り、進捗バーをにらみ続けるしかなかった。
そこで登場したのが、GNUプロジェクト発の「wget」。
- 中断したら続きから再開(レジューム機能)
- 大量のリンクを自動で辿って一括ダウンロード(再帰ダウンロード)
- バックグラウンド実行可能(ターミナルを閉じても動き続ける)
wgetは、黙々とファイルを取りに行く“自動化の職人”として一気に広まった。
競合:curlとの哲学の違い
1997年、curlが登場する。
curlはAPI操作やプロトコル対応の豊富さで開発者に愛されたが、wgetは一貫して「ダウンロード専用」を貫いた。
- wget:ファイル取得の自動化に特化(Webサイトのミラーリング向き)
- curl:APIや複雑なリクエスト処理も可能な万能ツール
この住み分けにより、wgetは「大量ダウンロードのプロ」、curlは「通信のスイスアーミーナイフ」として、それぞれの地位を確立していく。
wgetが愛された理由
wgetは「実用第一主義」を貫いた。
- GUI不要:スクリプトに組み込みやすい
- 軽量:Linuxサーバーならほぼ確実にプリインストール
- 再現性:リンクを再帰的にたどり、Webサイト全体をミラー可能
特にシステム管理者やアーカイブ愛好家からは「wgetさえあれば世界中のサイトをローカルに持ち帰れる」と重宝された。
wget2という進化
2020年、wgetの後継「wget2」が登場。
HTTP/2対応、並列ダウンロード、高速化が図られ、巨大なファイル群やクラウド環境での利用に最適化されている。
だが面白いのは、いまだにオリジナルのwgetが現役だということだ。
25年以上経っても廃れないコマンドは、IT業界でも稀有な存在だ。
現代のwget
今やwgetは、開発者だけでなく運用・保守の現場でも静かに動き続けている。
- 大規模サイトのバックアップ
- コンテンツの一括取得
- IoT機器での軽量ファイル取得
- 企業の社内ツールに埋め込まれたダウンロードバッチ
# Webサイトを丸ごとダウンロード wget --mirror --convert-links --adjust-extension --page-requisites --no-parent <https://example.com>
シンプルだが、やることはきっちりやる。それがwgetの哲学だ。
-
現代での活用
- Webアーカイブ用のミラーリング
- CI/CDでのビルド成果物の取得
- Linuxサーバーでの自動スクリプト
- wget2による大規模ファイル群の高速取得
-
虎の巻
c
:中断したダウンロードを再開r
:再帰的にダウンロード-limit-rate=200k
:帯域制限でサーバーに優しい取得b
:バックグラウンド実行-mirror
:Webサイトをミラーリング
-
結び
wgetは「静かに働く職人」だ。
派手さはないが、25年以上にわたり世界中のサーバーで確実に動き続けてきた。
API時代のいまも、wgetは変わらず「必要なものを、ただ確実に持ち帰る」存在であり続ける。
-
参考文献
- GNU Wget公式ドキュメント
- Wget2プロジェクト(GitLab)
- ダウンロード自動化に関する初期開発者インタビュー