分享一款linux多线程下载工具--axel

yumo6667个月前 (08-16)技术文章85

概述

运维工作中,常常需要下载文件,因为网站下载速度限制或者网络等原因导致下载让人无法忍受,所以今天推荐这款多线程下载工具--axel,下载文件时可以替代curl、wget。

Axel tries to accelerate the download process by using multiple connections per file, and can also balance the load between different servers.

Axel tries to be as light as possible, so it might be useful on byte-critical systems.

Axel supports HTTP, HTTPS, FTP and FTPS protocols.

github:https://github.com/axel-download-accelerator/axel


一、centos7.x安装

CentOS 的 yum 中本来是不包含 axel 这个软件包的,如果要使用需要先添加 epel 拓展

yum -y install epel-release 
yum -y install axel

二、语法

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 版本信息

三、实例

如果我要从 Thunderbird 的官方网站下载一个最新版本的 Thunderbird 二进制包,那么我们就可以使用 axel 来下载。

在我们获得了下载地址之后执行:

 axel -n 10 -o /axel/ -a https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/45.2.0/linux-x86_64/zh-CN/thunderbird-45.2.0.tar.bz2

axel 将会按照我设置的10个线程来下载 Thunderbird

如果下载过程中下载中断可以再执行下载命令即可恢复上次的下载进度。


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

相关文章

Linux C++实现多线程同步的四种方式(超级详细)

背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题?通过多线程模拟多窗口售票为例:#include <iostream>#include<pthread.h>#inc...

5分钟学会C/C++多线程编程进程和线程

前言 对线程有基本的理解简单的C++面向过程编程能力创造单个简单的线程。创造单个带参数的线程。如何等待线程结束。创造多个线程,并使用互斥量来防止资源抢占。会使用之后,直接跳到“汇总”,复制模板来用就行...

Linux 多线程全面解析(linux多线程原理)

文章转载微信公众号:马哥linux运维,不是原创职位转载收藏学习。在传统的 Unix 模型中,当一个进程需要由另一个实体执行某件事时,该进程派生(fork)一个子进程,让子进程去进行处理。Unix 下...

几个经典的linux c多线程面试题解析

一、线程与进程的区别?1、 线程是进程的一部分,所以线程有的时候被称为是轻权进程或者轻量级进程。2、 一个没有线程的进程是可以被看作单线程的,如果一个进程内拥有多个进程,进程的执行过程不是一条线(线程...

LinuxC++面向对象多线程学习笔记_多任务与多线程编程

多任务(multitask)同时执行多个进程,而多线程(multithread)允许单个进程同时执行多个线程。1. 多任务编程当OS使用一个规划策略允许两个或更多进程并发共享一个CPU时,它称做多任务...

C++11多线程知识点总结(c++多线程编程实例)

一、多线程的基本概念1、进程与线程的区别和联系进程:进程是一个动态的过程,是一个活动的实体。简单来说,一个应用程序的运行就可以被看做是一个进程;线程:是运行中的实际的任务执行者。可以说,进程中包含了多...