Bash 速習チュートリアル

Bash wgetコマンド

1. wgetコマンドの使用方法

wgetコマンドは、ウェブからファイルをダウンロードするために使用されます。
単一ファイルの取得はもちろん、ウェブサイト全体のミラーリングやバッチダウンロードにも対応した非常に強力なツールです。

1.1 基本的な使い方

ファイルをダウンロードするには、wget URL の形式で使用します。

例:

wget http://example.com/file.txt

2. オプション

wgetコマンドには、動作をカスタマイズするための様々なオプションが用意されています。

  • -b - バックグラウンドで実行する
  • -q - クワイエットモード(出力を表示しない)
  • -r - ディレクトリを再帰的にダウンロードする
  • -c - 部分的にダウンロードされたファイルの続きから取得する(レジューム)
  • --limit-rate - ダウンロード速度を制限する

2.1 バックグラウンドでの実行

-bオプションを使用すると、wgetをバックグラウンドで実行できます。
これは、長時間かかるダウンロードを、ターミナルを閉じたり別の作業をしたりしながら進めたい場合に非常に便利です。

例:バックグラウンドでの実行

wget -b http://example.com/file.txt

2.2 クワイエットモード

-qオプションを使用すると、クワイエットモードで実行されます。
進捗表示などの出力が一切行われないため、出力ログを汚したくないシェルスクリプトや自動化タスク内での利用に適しています。

例:クワイエットモード

wget -q http://example.com/file.txt

2.3 再帰的ダウンロード

-rオプションを使用すると、ディレクトリを再帰的に(階層を辿って)ダウンロードできます。
特定のディレクトリ配下にあるすべてのファイルや、ウェブサイト全体をローカルに保存したい場合に役立ちます。

例:再帰的ダウンロード

wget -r http://example.com/directory/

2.4 中断されたファイルの再開(レジューム)

-cオプションを使用すると、以前中断されたダウンロードの続きから再開できます。大容量ファイルのダウンロード中に接続が切れた際、最初からやり直す手間を省けます。

例:ダウンロードの再開

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

2.5 ダウンロード速度の制限

--limit-rateオプションを使用すると、ダウンロード速度の上限を設定できます。
サーバー全体の帯域幅を使い切らないように調整したい場合に有用です。

例:ダウンロード速度の制限

# 速度を200kに制限
wget --limit-rate=200k http://example.com/file.txt

3. wgetの出力を理解する

wgetコマンドを実行すると、オプションに応じて様々な情報が表示されます。主な要素は以下の通りです。

  • ダウンロードの進捗(Download Progress): 現在どの程度ダウンロードが完了したかをバー形式で表示。
  • ファイルサイズ(File Size): ダウンロード対象のファイルの合計容量。
  • ダウンロード速度(Download Speed): 現在のデータ転送レート。
  • 残り時間(Time Remaining): 完了までに予想される残り時間。

4. バッチダウンロード

wgetはバッチ処理にも適しています。例えば、-rオプションを組み合わせて使用することで、特定のディレクトリ内にあるすべてのファイルを一括で取得することが可能です。

例:バッチダウンロード

wget -r http://example.com/directory/