Linux下多线程下载工具MWget和Axel使用介绍

   linux运维在操作linux过程中,用得最多的linux下载工具想必一定是wget,没有看到哪一台服务器没装过wget的,或许有人使用ftp下载,也有人使用多线程的axel以及ProZilla,毫无疑问这两个工具都非常的出色,但是对于习惯使用wget的人来说显得不适应,于是老外便开发了多线程版本的wget工具mwget,m表示multi多线程的意思.

  mwget

  官方地址:http://sourceforge.net/projects/kmphpfm/?source=dlp

  代码如下:

  # cd /usr/local/src/

  # wget http://jaist.dl.sourceforge.net/project/kmphpfm/mwget/0.1/mwget_0.1.0.orig.tar.bz2

  # tar -xjvf mwget_0.1.0.orig.tar.bz2

  # cd mwget_0.1.0.orig

  # ./configure

  # make

  # make install

  configure过程中如果出现如下错误,请安装大于等于0.35版本的intltool

  代码如下:

  checking for intltool >= 0.35.0... ./configure: line 6824: intltool-update: command not found

  found

  configure: error: Your intltool is too old. You need intltool 0.35.0 or later.

  # yum install intltool

  wget vs mwget速度测试

  以下使用下载2.4.5版本的mongodb来取样.

  mwget速度测试

  代码如下:

  # mwget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz

  Begin to download: mongodb-linux-x86_64-2.4.5.tgz

  FileSize: 90M

  36% [====> =====> ===> ====> ] [ 33M] [2.0M/s] [ETA:00:28]

  mwget速度截图如下:


  wget速度测试

  代码如下:

  # wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz

  --2013-08-16 10:55:23-- http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.5.tgz

  Resolving fastdl.mongodb.org... 54.230.114.206, 54.230.113.36, 54.230.114.144, ...

  Connecting to fastdl.mongodb.org|54.230.114.206|:80... connected.

  HTTP request sent, awaiting response... 200 OK

  Length: 94827295 (90M) [application/x-tar]

  Saving to: “mongodb-linux-x86_64-2.4.5.tgz.1”

  6% [==> ] 6,470,547 210K/s eta 6m 26s

  wget速度截图如下


  mwget用法:

  代码如下:

  # mwget -h

  GNU MWget 0.1.0 ,a non-interactive and multiline network retriever of all POSTIX Systems.

  Usage: mwget [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 mwget and exit

  -x, --proxy=URL Set the proxy [URL]

  Mail bug reports and suggestions to

  On website bug reports and suggestions to

  We Welcome your BUG REPORT!

  Axel

  运维工作中,常常需要下载文件,因为网站下载速度限制或者网络等原因导致下载让人无法忍受,前面有介绍多线程wget工具mwget,提速不少,而且使用很简单。axel使用的人更多,不仅仅安装方法简单,命令更简单。往下看。

  安装Axel

  RPM安装Axel(方法一)

  下载地址:http://pkgs.repoforge.org/axel/

  如图,选择适合你服务器的RPM


  复制代码

  代码如下:

  root@ttlsa # wget http://pkgs.repoforge.org/axel/axel-2.4-1.el6.rf.x86_64.rpm

  root@ttlsa # rpm -ivh axel-2.4-1.el6.rf.x86_64.rpm

  Preparing... ########################################### [100%]

  1:axel ########################################### [100%]

  yum安装Axel(方法二)

  复制代码

  代码如下:

  root@ttlsa # yum install axel

  apt-get安装Axel

  如果你是Ubuntu系统

  代码如下:

  root@ttlsa # axel -h

  Usage: axel [options] url1 [url2] [url...]

  --max-speed=x -s x 最大速度 (字节/秒)

  --num-connections=x -n x 最大连接数

  --output=f -o f 指定文件名

  --search[=x] -S [x] Search for mirrors and download from x servers

  --header=x -H x 添加header

  --user-agent=x -U x 设置用户代理

  --no-proxy -N 不使用任何代理

  --quiet -q Leave stdout alone

  --verbose -v 显示更多状态信息

  --alternate -a 显示简单进度条

  --help -h 帮助

  --version -V 版本信息

  axel使用实例

  下载centos

  代码如下:

  root@ttlsa # axel http://mirrors.btte.net/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso

  [ 1%] .......... .......... .......... .......... .......... [4654.5KB/s]

  [ 1%] .......... .......... .......... .......... .......... [4657.1KB/s]

  [ 1%] .......... .......... .......... .......... .......... [4656.5KB/s]

  [ 1%] .......... .......... .......... .......... .......... [4659.3KB/s]

  下载运维生存时间某图片

  复制代码

  代码如下:

  root@ttlsa # axel http://www.ttlsa.com/wp-content/uploads/2014/04/zabbix-adduser-01.jpg

  Initializing download: http://www.ttlsa.com/wp-content/uploads/2014/04/zabbix-adduser-01.jpg

  File size: 73009 bytes

  Opening output file zabbix-adduser-01.jpg

  Starting download

< p>root@ttlsa # axel http://www.ttlsa.com/wp-content/uploads/2014/04/zabbix-adduser-01.jpg

 

  Initializing download: http://www.ttlsa.com/wp-content/uploads/2014/04/zabbix-adduser-01.jpg

  File size: 73009 bytes

  Opening output file zabbix-adduser-01.jpg

  Starting download

  [ 0%] .......... .......... .......... .......... .......... [ 598.0KB/s]

  [ 70%] .......... .......... .

  Connection 0 finished

  Downloaded 71.3 kilobytes in 0 seconds. (710.02 KB/s)

  简单进度条

  默认情况下,整个屏幕都是进度条,加上-a参数,进度条类似wget。

  复制代码

  代码如下:

  root@ttlsa # axel -a http://mirrors.btte.net/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso

  Initializing download: http://mirrors.btte.net/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso

  File size: 4467982336 bytes

  Opening output file CentOS-6.5-x86_64-bin-DVD1.iso

  Starting download

< p>[ 1%] [0 1 2 3 ] [ 3.2MB/s] [21:47]

 

  下载限速

  ttlsa的网站带宽有限制,我要保证下载的同时又不影响用户的访问,例如限制为1MB/s的下载速度,如下可以看到速度基本保证在1MB以内。

  复制代码

  代码如下:

  root@ttlsa # axel -s 1024000 http://mirrors.btte.net/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso

  Initializing download: http://mirrors.btte.net/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso

  File size: 4467982336 bytes

  Opening output file CentOS-6.5-x86_64-bin-DVD1.iso

  State file found: 30522952 bytes downloaded, 4437459384 to go.

  Starting download

  ,,,,,,,... .......... .......... .......... .......... [ 394.8KB/s]

  [ 0%] .......... .......... .......... .......... .......... [ 689.2KB/s]

  [ 0%] .......... .......... .......... .......... .......... [ 879.5KB/s]

  [ 0%] .......... .......... .......... .......... .......... [ 974.5KB/s]

  [ 0%] .......... .......... .......... .......... .......... [1086.4KB/s]

  [ 0%] .......... .......... .......... .......... .......... [ 967.5KB/s]

  [ 0%] .......... .......... .......... .......... .......... [ 943.8KB/s]

  [ 0%] .......... .......... .......... .......... .......... [1021.0KB/s]

  [ 0%] .......... .......... .......... .......... .......... [1066.1KB/s]

  最后

  完成,方法很简单,功能很简单。运维生存时间的服务器以及安装了axel,你的安装了吗?

时间: 2025-01-27 01:37:44

Linux下多线程下载工具MWget和Axel使用介绍的相关文章

linux多线程下载工具mwget

linux多线程下载工具mwget 经常使用wget进行文件下载,然而wget的处理速度并不如人意.遇到一些国外的站点,经常慢得像蜗牛一般.然而为了解决这个问题,便有了mwget:m表示multi多线程的意思. 安装mwget 官网:http://sourceforge.net/projects/kmphpfm/?source=dlp wget http://jaist.dl.sourceforge.net/project/kmphpfm/mwget/0.1/mwget_0.1.0.orig.t

Linux下的下载工具介绍----aria2

ariac 项目地址:http://aria2.sourceforge.net/ 下载地址:http://sourceforge.net/projects/aria2/files/stable/aria2-1.18.10/ 介绍 Aria2是一个命令行下运行.多协议.多来源下载工具(HTTP/HTTPS. 多链接下载. 特点 轻量,平均4-9MB内存使用量,BitTorrent下载速度2.8MiB/s时CPU占用约6%. 全面的BitTorrent特性支持,包括 DHT, PEX, Encryp

Linux下多线程查看工具(pstree、ps、pstack),linux命令之-pstree使用说明, linux 查看线程状态。 不指定

0.最常用 pstree:[root@iZ25dcp92ckZ temp]# pstree -a|grep multe  |       |   `-multepoolser  |       |       `-multepoolser  |       |           `-2*[{multepoolser}] 1. > top 可以显示所有系统进程 按u, 再输入相应的执行用户名称,比如Tom 可以看到Tom用户启动的所有进程和对应的pid 2. > pstack pid 可以看到

Linux下多线程查看工具(pstree、ps、pstack)

转自:http://blog.csdn.net/yfkiss/article/details/6729364 1. pstree pstree以树结构显示进程 $ pstree -p work | grep ad sshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552)                                                 |-{ad_preprocess}(4553)

Linux下多线程查看工具(pstree、ps、pstack) (转)

  1. pstree pstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552)                                                |-{ad_preprocess}(4553)                                                |-{ad_pr

linux下C++开发工具

就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样.Emacs, vi, eclipse, anjuta,kdevelop等层出不穷.Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户.例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工具, nmake.它们以集成方式提供给最终用户,对于初学者而言十分方便.但是,这种商业模式,直接导致用户

Linux下多线程编程(C语言)

Linux下多线程编程(C语言) 2.6内核开始使用NPTL(Native POSIX Thread Library)线程库,这个线程库有以下几个目标: POSIX兼容,都处理结果和应用,底启动开销,低链接开销,与Linux Thread应用的二进制兼容,软硬件的可扩展能力,与C++集成等. 这里的线程是指用户空间的线程操作 一.线程相关操作 1.1  pthread_t      pthread_t 在头文件  /usr/include/i386-linux-gnu/bits/pthreadt

linux下多线程,运行显示connect:address already in use

问题描述 linux下多线程,运行显示connect:address already in use linux下多线程,运行显示connect:address already in use 什么情况-- 解决方案 报错信息为,端口被占用. 多线程访问的时候,记得及时的释放链接.并且你可以调一下链接数,调大一些.至少要比你线程数大. 解决方案二: Address already in use: connect解决 Address already in use: connect 的错误Tomcat报

串口通讯-Linux下多线程串口通信问题

问题描述 Linux下多线程串口通信问题 我做的一个项目,把串口读写采用了一个独立的线程,进行数据的读写,在调试时,发现只要启动另外一个计算量比较大的线程,串口通信就出错了,而只要不启动这个线程,可以启动其他线程,串口工作没有任何问题,求原因? 解决方案 在C#中使用SerialPort类实现串口通信,多线程问题在C#中使用SerialPort类实现串口通信 遇到多线程问题在C#中使用SerialPort类实现串口通信 遇到多线程问题 解决方案二: 这两个线程有耦合吧?认真分析一下之间的联系.可