服务器运维之家
    • 服务器运维之家
    服务器运维之家
    • 首页
    • 服务器运维
      • Linux技巧
      • Linux教程
      • 环境搭建
      • 运维编程
      • Windows系统
    • DNS/CDN相关
    • VPS优惠
      • 韩国VPS
      • 香港VPS
      • 美国VPS
    • 域名
    • 白嫖的知识
    • 工具干货
    • 网站主题
      • WordPress
      • Typecho
    • 开源代码
    服务器运维之家
    首页 » 服务器运维 » Linux教程 » Linux 如何进行多线程下载
    Linux教程

    Linux 如何进行多线程下载

    2022年08月10日
    收录于话题
    #多线程下载

    前言

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

    正文

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

    axel

    安装

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

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

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

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

    安装程序

    ./configure && make && make install

    创建软链接

    ln ./axel /usr/bin/axel

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

    使用

    语法

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

    选项

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

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

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

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

     

     

    aria2

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

    安装

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

    apt-get install aria2

    使用

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

    aria2c -x [线程数] [URL]

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

     

     

    Linux 如何进行多线程下载

    上一篇 Centos8.x使用yum安装docker
    下一篇 CentOS7创建普通用户并给与su权限

    相关信息

    Iptables数据包大小匹配模块length应用

    2022年09月04日

    centos怎么查看端口是否被占用

    2022年08月25日

    linux centOS7自动同步时间

    2022年08月15日

    Linux 系统添加 Swap 交换分区

    2022年08月14日

    热门推荐信息

    Ubuntu20.04环境下手动编译并安装Redis6.2

    2022年08月09日

    Nginx反向代理之端口转发TCP/UDP

    2022年08月14日

    Nginx反向代理之端口转发

    linux centOS7自动同步时间

    2022年08月15日

    linux centOS7自动同步时间

    Iptables数据包大小匹配模块length应用

    2022年09月04日

    Iptables数据包大小匹配模块length应用

    CentOS7创建普通用户并给与su权限

    2022年08月11日

    在centos7.x下,添加普通用户,并授予su权限

    最新内容

    Iptables数据包大小匹配模块length应用

    2022年09月04日

    centos怎么查看端口是否被占用

    2022年08月25日

    linux centOS7自动同步时间

    2022年08月15日

    Linux 系统添加 Swap 交换分区

    2022年08月14日

    Nginx反向代理之端口转发TCP/UDP

    2022年08月14日
    文章导航
    关于本站
    服务器运维之家

    服务器运维,VPS运维,VPS选择,云主机选择,Linux命令

    © 2025 服务器运维之家.
    • 联系我们
    • 返回首页

    按 回车 搜索. 按 Esc 取消.