微慑信息网

【教程】Linux 如何进行多线程下载

前言

最近需要从本地传一个文件到纽约的buyvm服务器(千兆带宽、Debian9),奈何本地带宽小加上速度不理想,就尝试先传到onedrive上,再利用oneindex下载到目标服务器,说干就干,经过简单的google搜索,可以知道:wget是不支持多线程下载的,可以尝试安装其他应用。

正文
本文尝试使用两款工具:axel和aria2
由于我服务器使用的是debian9系统,所以也以debian9为例

axel
安装
安装步骤很简单:
首先去github下载其releases包

  1. wget https://github.com/axel-download-accelerator/axel/releases/download/v2.17.9/axel-2.17.9.tar.bz2

复制代码

解压并打开解压后的文件夹:

  1. tar -xjvf axel-2.17.9.tar.bz2
  2. cd axel-2.17.9

复制代码

安装程序

  1. ./configure && make && make install

复制代码

创建软链接

  1. ln ./axel /usr/bin/axel

复制代码

之后可以尝试运行命令:axel –version 试试是否已成功安装。

使用

语法

  1. axel [options] url1 [url2] [url…]

复制代码

选项

  1. –max-speed=x , -s x         # 最高速度x
  2. –num-connections=x , -n x   # 连接数x
  3. –output=f , -o f            # 下载为本地文件f
  4. –search[=x] , -S [x]        # 搜索镜像
  5. –header=x , -H x            # 添加头文件字符串x(指定 HTTP header)
  6. –user-agent=x , -U x        # 设置用户代理(指定 HTTP user agent)
  7. –no-proxy , -N             # 不使用代理服务器
  8. –quiet , -q                # 静默模式
  9. –verbose ,-v               # 更多状态信息
  10. –alternate , -a            # Alternate progress indicator
  11. –help ,-h                  # 帮助
  12. –version ,-V               # 版本信息

复制代码

例子,以10个线程下载vultr的测试文件:

  1. axel -n 10 http://sjo-ca-us-ping.vultr.com/vultr.com.1000MB.bin

复制代码

可以看到速度非常夸张(差不多跑满了带宽):

aria2
由于axel在通过在线oneindex的文件时总是出现一些奇怪的问题(cloudflare 500错误等),这里尝试换用aria2进行下载

安装
由于debian内置源存有aria2的包,那么这里可以直接通过apt-get下载:

  1. apt-get install aria2

复制代码

使用
具体的命令参数就不贴了,网上有很多了,就举个简单例子好了:

  1. aria2c -x [线程数] [URL]

复制代码

可以看到效果不错,速度提升很明显(wget下载速度1.6M/s左右)

本文标题:【教程】Linux 如何进行多线程下载
本文链接:
(转载请附上本文链接)
http://vulsee.com/archives/vulsee_2021/0906_14707.html
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » 【教程】Linux 如何进行多线程下载
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

微慑信息网 专注工匠精神

访问我们联系我们