Total Pageviews

Monday, 4 March 2013

Linux 下,使用 lftp 來同時開啟多個連線下載

Windows 以前常用 Flashget, 主要是有些網站會限制 單一 Thread 的下載速度, 所以要多開幾個連線去存取.
在 Linux 的 Bash shell (command line) 要如何做到 多 thread 下載 呢?
要能自動將 檔案分割, 且支援 多連線下載, 可以使用 lftp 來達成~

lftp pget 使用說明

詳細 lftp 說明可見: lftp - DebianWiki (下述說明轉載於此頁)
pget [OPTS] <rfile> [-o <lfile>]
使用多個連結來下載檔案, 預設為五個。
-n 3 為三個連結
ex: lftp -e 'pget -n 5 http://example.com/xxx.iso'

多線下載範例

  • 抓 Ubuntu 9.10 ISO: lftp -e 'pget -n 5 http://releases.ubuntu.com/releases/9.10/ubuntu-9.10-beta-desktop-i386.iso'
  • 抓 Linux kernrl Source: lftp -e 'pget -n 5 http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.tar.gz'

相關網頁

補充

感謝 YUREN(http://yurinfore.blogspot.com/) 包成 Function, 可以直接 "pget ftp://ftp.twaren.net/ubuntu-cd/9.10/ubuntu-9.10-rc-desktop-i386.iso" 使用.(須將下述 Function 加入 .bashrc 中)

function pget()
{
    echo $1
    cmd="pget -n 5 $1; exit"
    lftp -e "$cmd"
}