歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

超級強悍的下載之工具curl

   作者:pk  Mandrake Linux 9.1就要向我們走來了,我有點等不及了。先下rc2的iso文件來看看,但由於我現在上網的時候有限,我就想著怎麼樣下載ISO文件。但用號稱linux的下FlashGet的nt下載還是不夠快。     從網站下載諸如iso這樣的大型文件時,即便對方能提供1MB/s的下載速率,其等待過程也是令人煩惱的,而Linux下也好像目前並沒有什麼成熟的多線程下載工具。即便是Windows下的某些著名軟件也拿“每IP只限一個連接”的站點沒辦法。新出的FlashGet 1.3支持對各個下載線程使用不同的代理,則實際上就可以同時分多塊部分從那種小氣的站點下大文件了     不過呢,這沒有考慮到現今FTP站點的冗余備份特性:同一個iso很可能在多個站點上都有鏡像,我們能不能對此特點加以利用呢?     我們采用超級強悍的下載工具curl,它好像不是多線程的,但我們用shell來控制多個進程配合工作。沒有用過這個工具的不妨安裝一下:   代碼:     # rpm -q curl   #curl-7.9.4-4mdk      下面我們以下載Mandrake Linux 9.1 rc2的第一張iso為例來介紹其使用方法。經過采點,找到了三個可用的地址,分別標為url1~url3.   代碼:     # cat 1.sh   #!/bin/bash   url1=ftp://mirrors.kernel.org/mandrake-iso/i586/   MandrakeLinux-9.1rc2-CD1.i586.iso   url2=ftp://mandrake.redbox.cz/Mandrake-iso/i586/MandrakeLinux-9.1rc2-CD1.i586.iso   url3=ftp://ftp.uninett.no/pub/linux/Mandrake/Mandrake-iso/i586/   MandrakeLinux-9.1rc2-CD1.i586.iso   curl -r 0-199999999 -o inst.1 $url1 &   curl -r 200000000-399999999 -o inst.2 $url2 &   curl -r 400000000- -o inst.3 $url3 &   echo "TODO: cat inst.2 >> inst.1; cat inst.3 >> inst.1"   echo "THEN: mv inst.1 MandrakeLinux-9.1rc2-CD1.i586.iso"     上面這幾行命令應該很容易看懂。我執行了一下,很快就拿到了三塊文件碎片,如果下載完成後,你在當前的目錄下看到的還是inst.[1,3]這個三個文件,那可能還沒有合拼到,你合並下就可以了。   代碼:     cat inst.2 >> inst.1   cat inst.3 >> inst.1   mv inst.1 MandrakeLinux-9.1rc2-CD1.i586.iso      拼接後拿md5一算,   代碼:   md5sum MandrakeLinux-9.1rc2-CD1.i586.iso   342862f7a2da34b6d9d772d6bdf91b4d    哈哈,哈希值跟他們的一致。Done     當然,如果你的網絡足夠快,沒有必要這麼折騰,不過,我還是喜歡這樣做。呵呵當然啦,你還能可分得更詳細,比如分為5段下載,對應不同的ftp,你就修改下上面的那個Shell Script就可以了。對於詳細的使用curl,你還是看看它的Man頁吧。     呵呵,我只下載了Mandrake linux 9.1rc的第一個iso文件,也試驗裝了下,感覺其中的中文字體還是做得很粗糙,不過,其它的還算可以。要玩就等正式版本出來的時候再玩吧。      哈哈,其實不只是Mandrkae可以這樣做,其它的發行版本也是一樣的,你要找好幾個ftp的下載地址就可以了。同時也能出了下載大型iso的一點方案。爽吧,curl,超cool強悍的下載工具.    注: 聲明,本文部分內容參考了中國科大BBS站《大話下載之工具curl》一文。"




Copyright © Linux教程網 All Rights Reserved