Linux下多线程下载工具myget

时间:2024-03-04 16:55:53

[root@superdba ~]# mytget
Mytget 0.0.99: A download accelerator for GNU/Linux
Usage: mytget [options]... [URL]...
Options:
  -b,  --debug          Show the debug message
  -c,  --count=num      Set the retry count to [num], no limit when "0", the default is "99"
  -d,  --directory=dir  Set the local direcotry to [dir], the default is "."
  -f,  --file=file      Rename the file to [file]
  -h,  --help           A brief summary of all the options
  -i,  --interval=num   Set the ftp retry interval to [num] seconds, the default is "5"
  -n,  --number=num     Use [num] connections instead of the default (4)
  -r,  --referer=URL    Include `Referer: [URL]\' header in HTTP request.
  -t,  --timeout=num    Set the connection timeout to [num] seconds, the default is "30"
  -v,  --version        Show the version of the myget and exit
  -x,  --proxy=URL      Set the proxy [URL]

本文介绍常用的几种命令行式的下载工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel。

此外还有MWget(https://sourceforge.net/projects/kmphpfm/?source=dlp),据说也不错。

   下面就为大家详细介绍一下这些工具。
    1. Wget     

      Wget是一个十分常用命令行下载工具,多数Linux发行版本都默认包含这个工具。如果没有安装可在   http://www.gnu.org/software/wget/wget.html下载最新版本。

    1.1 编译安装: 


    #tar zxvf wget-1.9.1.tar.gz 
    #cd wget-1.9.1 #./configure 
    #make #make install 


    1.2 Wget使用格式如下:

     #wget [选项] [下载地址] 1.Wget常用参数

     -b:后台下载,Wget默认的是把文件下载到当前目录。

     -O:将文件下载到指定的目录中。

     -P:保存文件之前先创建指定名称的目录。

     -t:尝试连接次数,当Wget无法与服务器建立连接时,尝试连接多少次。

    -c:断点续传,如果下载中断,那么连接恢复时会从上次断点开始下载。  

     例如下载wineqq2013版本:

     wget www.longene.org/download/WineQQ2013-20131120-Longene.deb   

     1.3 除了上述常用功能,Wget还支持HTTP和FTP代理功能,编辑其配置文件“/etc/wgetrc”即可。

       具体方法是使用VI编辑器打开上述文件,将 “http_proxy”和“ftp_proxoy”前的#去掉,然后在这两项后输入相应的代理服务器的地址,保存退出即可。

       此外,Wget还可下载整个网站,如下载 http://man.chinaunix.net 整个Man手册中心。只需输入如下命令即可: #wget -r -p -np -k http://man.chinaunix.net 
      其中-r参数是指使用递归下载,-p是指下载所有显示完整网页所以需要的文件,如图片等,-np是指不搜索上层目录,-k则是指将绝对链接转换为相对链接。


     2.Prozilla     

       Prozilla也是一个十分流行的命令行下载工具,支持多线程下载和断点续传功能。可到 

https://github.com/totosugito/prozilla-2.0.4

或 http://prozilla.genesys.ro/ 下载。

    2.1 安装: 


    #tar zxvf prozilla-1.3.7.4.tar.gz 
    #cd prozilla-1.3.7.4 
    #./configure #make 
    #make install 


   2.2 Prozilla命令格式如下:

    #proz [参数] [下载地址] 常用的选项有:

    -k=n :设置n个线程下载。不加此参数指定线程数,Prozilla默认为4线程下载。

     -P, --directory-prefix=DIR:指定将下载的文件保存在DIR/目录。

     -r, --resume:继续下载未完成的文件。如果要指定线程数下载可用如下命令: #proz -k=5 http://64.12.204.21/pub/mozilla.org/firefox/releases/1.0/linux-i686/zh-CN/firefox-1.0.installer.tar.gz
      这样便以5线程进行文件的下载,并将文件保存到当前目录。和Wget一样,Prozilla也提供了续传功能,下载中断后,重新输入上述命令,就会出现提示续传,按R键就可继续下载了。

  
    3.   MyGet     

      MyGet目标设计成一个可扩展的,拥有丰富界面的多线程下载工具,它支持HTTP、FTP、HTTPS、MMS、RTSP等协议。在http://myget.sourceforge.net/release/myget-0.1.0.tar.bz2 下载其最新版本0.1.0。

     3.1 命令安装:
     #tar jxvf myget-0.1.0.tar.bz2 
    #cd myget-0.1.0 #./configure 
    #make 
    #make install 
     3.2 MyGet命令格式如下:

    #mytget [选项] [下载地址] 常用的选项:

     -d [目录]:指定下载到的文件在本地存放的位置,默认当前目录。

     -f [文件]:指定下载文件名称。

     -h:帮助选项。

     -n [线程数]:下载线程数量,默认为4个。

     -x [代理服务器地址]:设置代理服务器地址,如“-x  http://user:password@host:port ”。 

     MyGet常用的形式如下: #mytget -d /root/ -n 10 http://lumaqq.linuxsir.org/download/patch/lumaqq_2004t_patch_2005.07.21.00.00.zip
         
     4 . Linuxdown     

      Linuxdown是一个命令行多线程下载工具,最多可支持30线程的下载。在 https://gro.clinux.org/frs/download.php/1015/linuxdown-1.0.0.tar.gz 下载最新的1.1.0版本。

     4.1  编译安装: 


    #tar zxvf linuxdown-1.1.0.tar.gz 
    #cd dandelion/ 
    #make 
    #make install 


    4.2  linuxdown格式为:

    #linuxdown [下载地址] [选项] [线程数]    

    需要注意的是下载地址和选项都需要西文引号括起来,线程数不可超过30个。一个典型的下载如下:

     linuxdown "http://lumaqq.linuxsir.org/download/patch/lumaqq_2004t_patch_2005.07.21.00.00.zip" 30


   5.  Curl     Curl也是Linux下不错的命令行下载工具,小巧、高速,唯一的缺点是不支持多线程下载。在 http://curl.haxx.se/download/curl-7.14.0.tar.gz下载最新版本。

   5.1编译安装:       

   #tar zxvf curl-7.14.0.tar.gz 
    #cd curl-7.14.0/ 
    #./configure 
    #make 
    #make test 
    #make install 


   5.2  Curl使用格式如下: 

     #curl [选项][下载地址] Curl典型下载如下: #curl -O http://10.1.27.10/~kennycx/tools/lumaqq_2004-linux_gtk2_x86_with_jre.tar.gz
     使用Curl下载一个文件并保存到当前目录。此外,Curl虽然不支持多线程下载,但它可同时下载多个文件或下载文件的某一部分,可使用如下命令实现:

     #curl -r 0-199 http://www.netscape.com/
      获得文件的前200 bytes。     对于常用的代理下载Curl也可轻松实现,具体操作如下:

      #curl -x 10.1.27.10:1022  ftp://ftp.funet.fi/README
      使用代理地址为10.1.27.10端口为1022的代理服务器下载一个文件。

       #curl -U user:passwd -x 10.1.27.10:1022 ftp://ftp.funet.fi/README
      如果代理服务器需要特别的验证,则需要在user:passwd处输入合法的帐号和密码。 
    

      6. Axel    

       Axel是命令行下的多线程下载工具,支持断点续传,速度通常情况下是Wget的几倍。可在 

http://axel.alioth.debian.org/

 http://www.linuxfans.org/nuke/modules.php?name=Site_Downloads&op=mydown&did=1697下载。

     6.1 编译安装: 


    #tar zxvf axel-1.0a.tar.gz 
    #cd axel-1.0a/ 
    #./configure 
    #make 
    #make install  


     6.2 基本的用法如下:

     #axel [选项] [下载目录] [下载地址] 一个典型下载如下: #alex -n 10 -o /home/kennycx/http://10.1.27.10/~kennycx/tools/lumaqq_2004-linux_gtk2_x86_with_jre.tar.gz
    用10线程将指定路径的文件下载到/home/kennycx/这个目录下。