コンピューターハードウェア(cpu +マザーボード+グラフィックカード+メモリ+ハードディスク)をアップグレードしたばかりなので、新しいOSをインストールする必要があります。 wget
コマンドでdebian-6.0.6-AMD64-netinst.iso
をダウンロードしようとしましたが、速度が遅いため耐えられませんでした。 4Kb/s ~ 17 Kb/s
、実行中のカメのように遅い、またはChromeを使用している場合はさらに遅くなります。
wgetのヘルプ情報を読みましたが、より高速にするオプションがないようです。
とにかくwgetを高速化する方法はありますか?または、マルチスレッドをダウンロードすることは可能ですか?
PS:私の帯域幅は4Mです。私はこのコマンドを使用します:
wget -c url http://hammurabi.acc.umu.se/debian-cd/6.0.6/AMD64/iso-cd/debian-6.0.6-AMD64-netinst.iso
axel
を試してみませんか?本格的なコマンドラインベースのダウンローダーです。axel
をインストールし、axel -a -n [Num_of_Thread] link1 link2 link3 ...
でダウンロードを開始します。ここで、'[Num_of_Thread]'
は、ダウンロードする各リンクに対して作成する並列接続の数です。
-a
は、改善された進行状況バーを表示するだけです。
Gufranの推奨に基づいてaxel
を試しましたが、非常に失望しました。私の目標は、DownThemAll
のCLIの置き換えを見つけることでした。これは、8コアのMac ProでもCPUとハードディスクを占有し、システム全体の速度を低下させるためです。また、wget
とcurl
のマルチスレッド置換が必要でした。これらの複数のインスタンスを実行するスクリプトの多少の不手際ではありません。それで、私はさらに検索し、私が現時点で究極の最新のマルチスレッドCLIダウンローダーだと思うものを見つけました-- aria2 。 axel
で私が抱えていた大きな問題は、SSLを介してファイルをダウンロードする「偽造」でした。私はtcdump
でそれをしているのを見つけました。 https
リンクを通常のhttp
としてダウンロードしていました。それは本当に私を怒らせ、もし私がチェックしなければ、私は誤った安心感を持っていただろう。この深刻なセキュリティ侵害について多くの人が知っているとは思えません。 aria2
に戻ると、他のどのダウンローダーよりも高度です。 HTTP(S)、FTP、BitTorrent、およびMetalinkプロトコルをサポートし、マルチプラットフォームであり、ダウンロードゲリラです。 DTAとは異なり、CPUまたはハードディスクに負荷をかけることなく、ISPの帯域幅を最大限に活用します。マニュアルページは巨大です。その多くのオプションのうちのいくつかを使用することはありません。ああ、ところで、私はtcdump
でSSLのパフォーマンスを確認しましたが、偽物ではなく堅実です。 DTAの動作を模倣するスクリプトを作成しましたが、便利ではありません。
最大帯域幅を取得するために使用する基本的なコマンドは
aria2c --file-allocation=none -c -x 10 -s 10 -d "mydir" URL
-c
は、中断された場合にダウンロードの継続を許可し、-x 10
および-s 10
はサーバーごとに最大10接続を許可し、-d "mydir"
はファイルをディレクトリmydir
に出力します。
aria2files.sh
:
#!/bin/bash
filename="$1" # get filename from command line argument
while read -r line
do
if [ "$line" ] # skip blank lines
then
if [[ "$line" =~ (https?|ftp)\:\/\/ ]] # line contains a URL, download file
then
echo "URL: '$line'"
aria2c --file-allocation=none -c -x 10 -s 10 -d "$currdir" "$line"
else # line contains a directory name, create directory if not already present
echo "Directory: '$line'"
currdir="$line"
if [ ! -d "$currdir" ]
then
mkdir -p "$currdir" # '-p' enables creation of nested directories in one command
fi
fi
fi
done < "$filename"
次の形式のテキストファイルを読み取ります。
files.txt
:
dierctory 1
url1
url2
…
directory 2/subdirectory/sub-subdirectory/…
url3
url4
…
…
…
スクリプトはコマンドラインからファイル名を読み取ります。
aria2files.sh files.txt
ディレクトリを作成し、それらにダウンロードします。 2番目の例に示すように、ネストされたディレクトリを作成できます。
詳細については、私の投稿を参照してください RLからファイルをテキストファイルにリストされた指定ディレクトリにダウンロードするためのBashスクリプト .