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

yumo6669小时前技术文章2

概述

运维工作中,常常需要下载文件,因为网站下载速度限制或者网络等原因导致下载让人无法忍受,所以今天推荐这款多线程下载工具--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)

多线程编程可以说每个程序员的基本功,同时也是开发中的难点之一,本文以Linux C为例,讲述了线程的创建及常用的几种线程同步的方式,最后对多线程编程进行了总结与思考并给出代码示例。一、创建线程多线程编...

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

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

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

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

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

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

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

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

LinuxC/C++ 实现百万并发服务器(linux高并发)

1. 准备首先要准备四台虚拟机,一台用作服务器,另外三台用作客户端.Server: 4G内存、2核CPUClient: 2G内存、1核CPU2. code服务端#include <stdio.h...