服务器运维之家
    • 服务器运维之家
    服务器运维之家
    • 首页
    • 服务器运维
      • 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日

    热门推荐信息

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

    2022年08月14日

    Nginx反向代理之端口转发

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

    2022年08月09日

    linux centOS7自动同步时间

    2022年08月15日

    linux centOS7自动同步时间

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

    2022年09月04日

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

    Linux 系统添加 Swap 交换分区

    2022年08月14日

    Linux 系统添加 Swap 交换分区

    最新内容

    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 取消.