wget をマスターする:15 の強力なダウンロード例
wget ユーティリティは、インターネットからファイルをダウンロードするための最良のオプションです。 wget は、大きなファイルのダウンロード、再帰的ダウンロード、非インタラクティブなダウンロード、複数のファイルのダウンロードなど、あらゆる複雑なダウンロード状況をほぼ処理できます。
この記事では、wget の使用方法を確認してみましょう。 15 個の素晴らしい wget サンプルを使用して、さまざまなダウンロード シナリオに対応します。
1. wget を使用して単一ファイルをダウンロード
次の例では、インターネットから 1 つのファイルをダウンロードし、現在のディレクトリに保存します。
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
ダウンロード中、次の情報を含む進行状況バーが表示されます。
- ダウンロード完了までの割合 (例:以下に示すように 31%)
- これまでにダウンロードされた合計バイト数 (たとえば、以下に示すように 1,213,592 バイト)
- 現在のダウンロード速度 (例:以下に示すように 68.2K/s)
- ダウンロードの残り時間 (例:以下に示す eta 34 秒)
ダウンロード中:
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Saving to: `strx25-0.9.2.1.tar.bz2.1' 31% [=================> 1,213,592 68.2K/s eta 34s
ダウンロードが完了しました:
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Saving to: `strx25-0.9.2.1.tar.bz2' 100%[======================>] 3,852,374 76.8K/s in 55s 2009-09-25 11:15:30 (68.7 KB/s) - `strx25-0.9.2.1.tar.bz2' saved [3852374/3852374]
2. wget -O を使用して別のファイル名でダウンロードして保存する
デフォルトでは、wget は最後のスラッシュの後の最後の単語からファイル名を選択しますが、これは常に適切であるとは限りません。
不正解: 次の例では、download_script.php?src_id=7701
という名前のファイルをダウンロードして保存します。$ wget http://www.vim.org/scripts/download_script.php?src_id=7701
ダウンロードしたファイルは zip 形式であっても、次のようにファイルに保存されます。
$ ls download_script.php?src_id=7701
正解: この問題を修正するには、-O オプションを使用して出力ファイル名を次のように指定します。
$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
3. wget –limit-rate を使用してダウンロード速度 / ダウンロード レートを指定
wget の実行中、デフォルトでは、可能な帯域幅をすべて占有しようとします。実稼働サーバーに巨大なファイルをダウンロードする場合、これは受け入れられない可能性があります。したがって、これを回避するには、以下に示すように –limit-rate を使用してダウンロード速度を制限します。
次の例では、ダウンロード速度は 200k に制限されています
$ wget --limit-rate=200k http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
4. wget -c を使用して不完全なダウンロードを続行します
以下に示すように、wget -c オプションを使用して、途中で停止したダウンロードを再開します。
$ wget -c http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
これは、非常に大きなファイルのダウンロードを開始し、途中で中断された場合に非常に役立ちます。ダウンロード全体を再度開始する代わりに、オプション -c
を使用して、中断されたところからダウンロードを開始できます。注: ダウンロードが途中で停止した場合、オプション -c を指定せずにダウンロードを再度再開すると、以前の名前のファイルがすでに存在するため、wget はファイル名に .1 を自動的に追加します。 .1 が付いたファイルがすでに存在する場合は、最後に .2 が付いたファイルがダウンロードされます。
5. wget -b
を使用してバックグラウンドでダウンロードする巨大なダウンロードの場合は、以下に示すように、wget オプション -b を使用してダウンロードをバックグラウンドで実行します。
$ wget -b http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Continuing in background, pid 1984. Output will be written to `wget-log'.
ダウンロードが開始され、シェル プロンプトが表示されます。以下に示すように、tail -f を使用すると、いつでもダウンロードのステータスを確認できます。
$ tail -f wget-log Saving to: `strx25-0.9.2.1.tar.bz2.4' 0K .......... .......... .......... .......... .......... 1% 65.5K 57s 50K .......... .......... .......... .......... .......... 2% 85.9K 49s 100K .......... .......... .......... .......... .......... 3% 83.3K 47s 150K .......... .......... .......... .......... .......... 5% 86.6K 45s 200K .......... .......... .......... .......... .......... 6% 33.9K 56s 250K .......... .......... .......... .......... .......... 7% 182M 46s 300K .......... .......... .......... .......... .......... 9% 57.9K 47s
また、tail コマンドを効果的に使用して複数のファイルを表示する方法については、以前の multitail の記事を必ず参照してください。
6.ユーザー エージェントをマスクし、wget –user-agent
を使用して wget をブラウザのように表示する一部の Web サイトでは、ユーザー エージェントがブラウザーではないことを識別することで、ページのダウンロードを禁止できます。したがって、以下に示すように、 –user-agent オプションを使用してユーザー エージェントをマスクし、ブラウザのように wget を表示できます。
$ wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" URL-TO-DOWNLOAD
7. wget –spider を使用してダウンロード URL をテストする
スケジュールされたダウンロードを実行する場合は、スケジュールされた時間にダウンロードが正常に行われるかどうかを確認する必要があります。これを行うには、スケジュールからその行を正確にコピーし、確認する -spider オプションを追加します。
$ wget --spider DOWNLOAD-URL
指定された URL が正しい場合は、
と表示されます。$ wget --spider download-url Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Remote file exists and could contain further links, but recursion is disabled -- not retrieving.
これにより、スケジュールされた時間にダウンロードが確実に成功します。ただし、間違った URL を指定すると、次のエラーが表示されます。
$ wget --spider download-url Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response... 404 Not Found Remote file does not exist -- broken link!!!
スパイダー オプションは、次のシナリオで使用できます。
- ダウンロードをスケジュールする前に確認してください。
- ウェブサイトが利用可能かどうかを一定の間隔で監視する
- ブックマークからページのリストを確認し、どのページがまだ存在しているかを確認します。
8. wget –tries を使用して再試行の合計数を増やす
インターネット接続に問題があり、ダウンロード ファイルが大きい場合は、ダウンロードが失敗する可能性があります。デフォルトでは、wget はダウンロードを成功させるために 20 回再試行します。
必要に応じて、以下に示すように –tries オプションを使用して再試行回数を増やすことができます。
$ wget --tries=75 DOWNLOAD-URL
9. Wget -i を使用して複数のファイル/URL をダウンロードする
まず、すべてのダウンロード ファイルまたは URL を次のようにテキスト ファイルに保存します。
$ cat > download-file-list.txt URL1 URL2 URL3 URL4
次に、以下に示すように -i オプションを使用して、wget の引数として download-file-list.txt を指定します。
$ wget -i download-file-list.txt
10. wget –mirror
を使用して完全な Web サイトをダウンロードする以下は、Web サイト全体をダウンロードしてローカルで表示できるようにするときに実行するコマンド ラインです。
$ wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
- –mirror :ミラーリングに適したオプションをオンにします。
- -p :指定された HTML ページを適切に表示するために必要なすべてのファイルをダウンロードします。
- –convert-links :ダウンロード後、ローカルで表示できるようにドキュメント内のリンクを変換します。
- -P ./LOCAL-DIR :すべてのファイルとディレクトリを指定されたディレクトリに保存します。
11. wget –reject
を使用してダウンロード中に特定のファイル タイプを拒否する便利な Web サイトを見つけましたが、画像をダウンロードしたくない場合は、次のように指定できます。
$ wget --reject=gif WEBSITE-TO-BE-DOWNLOADED
12. wget -o
を使用して、stderr ではなくログ ファイルにメッセージを記録します。ログをターミナルではなくログ ファイルにリダイレクトしたい場合。
$ wget -o download.log DOWNLOAD-URL
13. wget -Q を使用して特定のサイズを超えた場合にダウンロードを中止する
5 MB を超えたときにダウンロードを停止したい場合は、次の wget コマンド ラインを使用できます。
$ wget -Q5m -i FILE-WHICH-HAS-URLS
注: このクォータは、単一の URL をダウンロードする場合には影響しません。つまり、クォータ サイズに関係なく、単一のファイルを指定するとすべてがダウンロードされます。この割り当ては、再帰的ダウンロードにのみ適用されます。
14. wget -r -A を使用して特定のファイル タイプのみをダウンロードする
これは次の状況で使用できます。
- Web サイトからすべての画像をダウンロード
- ウェブサイトからすべてのビデオをダウンロードする
- Web サイトからすべての PDF ファイルをダウンロードする
$ wget -r -A.pdf http://url-to-webpage-with-pdfs/
15. wget を使用した FTP ダウンロード
以下に示すように、wget を使用して FTP ダウンロードを実行できます。
Wget を使用した匿名 FTP ダウンロード
$ wget ftp-url
ユーザー名とパスワードの認証を伴う wget を使用した FTP ダウンロード。
$ wget --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL
この記事が気に入ったらデリシャスまたはStumble でブックマークしてください。
-
fdupes:Linux 上の重複ファイルを検索して削除するための効率的なコマンドライン ツール
重複ファイルを検索して置換することは、ほとんどのコンピュータ ユーザーにとって一般的な要件です。重複ファイルを見つけて削除するのは、時間と忍耐を必要とする面倒な作業です。マシンが GNU/Linux を搭載している場合は、「fdupes」のおかげで、重複ファイルを見つけるのが非常に簡単になります。 ユーティリティ。 Fdupes – Linux での重複ファイルの検索と削除 fdupes とは何ですか? フデュプス はAdrian Lopez によって書かれた Linux ユーティリティです。 C で MIT ライセンスに基づいてリリースされたプログラミング言語。アプリケーションは、指定さ
-
Linux ln –Linuxでシンボリックリンクを作成する方法[Bashコマンドの例]
シンボリックリンク(シンボリック)は、Linuxの他のファイルまたはディレクトリ(フォルダ)を指すファイルの一種です。 lnを使用して、シンボリックリンク(シンボリック)を作成できます。 コマンドラインでコマンドを実行します。 シンボリックリンクは、ファイルまたはディレクトリへのショートカットとして機能するため、便利です。 この記事では、lnの使用方法について説明します。 ファイルまたはディレクトリへのシンボリックリンクを作成するコマンド。 Linuxのソフトリンクとハードリンクの違いは何ですか? ソフトリンクまたはシンボリックリンクは、システム上の元のファイルを指します。