linux 命令行多线程下载工具

主要介绍我用过的两款:

Wget

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

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

它的用法很简单,Wget使用格式如下:

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

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

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

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

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

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

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

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

此外,Wget还可下载整个网站,如下载http://man.chinaunix.net整个Man手册中心。

只需输入如下命令即可:

#wget-r-p-np-khttp://man.chinaunix.net其中

◆–r参数是指使用递归下载,

◆-p是指下载所有显示完整网页所以需要的文件,如图片等,

◆–np是指不搜索上层目录,

◆–k则是指将绝对链接转换为相对链接。

wget的用法:

wget的用法

下载用法如下:

wget-chttp://dl_dir.qq.com/qqfile/qq/QQ2010/QQ2010SP1.exe

-c,--continue接着下载没下载完的文件

如何停止下载:

ctrl+c或着

psaux|grepwget得到正在运行的wget线程列表,得到线程id

kill-9numberofprocesshere(这个就是得到的线程id)

或着

pgrepwget|xargskill-9

MyGet可以多线程

MyGet目标设计成一个可扩展的,拥有丰富界面的多线程下载工具,它支持HTTP、FTP、HTTPS等协议。

在http://myget.sourceforge.net/release/myget-0.1.0.tar.bz2下载其最新版本0.1.0,

下载后使用如下命令安装:

#tarjxvfmyget-0.1.0.tar.bz2

#cdmyget-0.1.0

#./configure

#make

#makeinstall

MyGet命令格式如下:#mytget[选项][下载地址]

常用的选项:

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

-f[文件]:指定下载到本地后的新文件名称。

-h帮助选项。

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

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

-bShowthedebugmessage

-cSettheretrycountto[num],nolimitwhen"0",thedefaultis"99"

-iSettheftpretryintervalto[num]seconds,thedefaultis"5"

-rInclude`Referer:'headerinHTTPrequest.

-tSettheconnectiontimeoutto[num]seconds,thedefaultis"30"

-vShowtheversionofthemygetandexit

-xSettheproxy[URL]

myget例子:开10个线程,保存在当前的文件夹下

mytget-n10http://dl_dir.qq.com/qqfile/qq/QQ2010/QQ2010SP1.exe

杀死进程的办法和上面的wget一样。

Linux多线程下载工具myget,替换单线程wget

官网:http://myget.sourceforge.net/

安装很方便,

wgethttp://myget.sourceforge.net/release/myget-0.1.2.tar.gz

解压

tarzxvfmyget-0.1.2.tar.gz

进入目录

cdmyget

然后编译安装

./configure

make&&makeinstall

输入mytget–help查看帮助

注意命令是mytget而不是myget

相关推荐