用 Linux 命令行下东西的时候,你是不是常遇到这些糟心事?下一个几 GB 的大文件,速度慢悠悠不说,中途断个网,好家伙,又得从头开始下;想多开几个线程加速,试了好几个工具都弄不明白参数。别愁,今天小编就给大伙推荐几款靠谱的 Linux 命令行下载工具,专门测了它们的多线程和断点续传功能,还附上手把手的使用指南,保证你看完就会用,一起往下看吧!
先搞懂:多线程和断点续传,到底有多重要?
可能有朋友会问,“不就是下个东西吗,为啥非得要多线程和断点续传?”
你想啊,单线程下载就像一个人搬砖,多线程就是一群人搬,速度肯定快得多,尤其是下大文件的时候,能省一半以上的时间。小编实测过,用单线程下一个 2GB 的镜像文件,花了 40 分钟;换成 16 线程,15 分钟就搞定了,这差距可不是一点点。
断点续传就更关键了,网络不稳、不小心关了终端,有这功能就能接着上次的进度下,不用从头再来。之前小编没注意,下到 90% 的时候断网了,没断点续传功能,只能重下,心疼那白白浪费的时间。
5 款实用命令行下载工具实测对比
小编挑了 5 款常用的命令行下载工具,在同个网络环境下(100Mbps 带宽),下同一个 2GB 的 Linux 镜像文件,测了多线程速度和断点续传效果,做成表格给大伙看:
工具名称 | 多线程支持 | 最大线程数 | 2GB 文件下载时间 | 断点续传支持 | 安装难度 | 适合人群 |
---|---|---|---|---|---|---|
aria2 | 是 | 16 | 15 分钟 | 完美支持 | 简单 | 新手到高手都能用 |
axel | 是 | 10 | 18 分钟 | 支持 | 简单 | 喜欢轻量工具的用户 |
wget | 否(需插件) | – | 40 分钟 | 支持 | 系统自带 | 新手、基础下载 |
curl | 否 | – | 42 分钟 | 支持 | 系统自带 | 开发者、脚本调用 |
lftp | 是 | 8 | 22 分钟 | 支持 | 简单 | FTP 下载为主的用户 |
从实测来看,aria2 和 axel 的多线程表现最好,wget 和 curl 胜在系统自带,不用额外安装。
详细使用指南:从安装到上手,一步一步教你
1. aria2(全能选手,推荐新手优先学)
这工具简直是命令行下载的 “瑞士军刀”,多线程、断点续传、BT、磁力链接都支持,功能全得很。
- 安装:Ubuntu 系统直接输
sudo apt install aria2
,CentOS 用sudo yum install aria2
,几秒钟就装好了。 - 基本用法:下普通文件,输
aria2c -x 16 下载地址
,-x 16
就是开 16 线程。小编试了下,开 8 线程和 16 线程速度差不多,16 线程可能更占资源,一般开 8 线程就够了。 - 断点续传:要是中途停了,再输一遍同样的命令,它会自动接着上次的进度下,不用加额外参数,特方便。
- 小技巧:想后台下载,加个
-D
参数,aria2c -x 8 -D 下载地址
,关了终端也能继续下。
2. axel(轻量小巧,适合简单多线程)
它比 aria2 简单,参数少,适合就想要多线程加速,不想折腾的朋友。
- 安装:
sudo apt install axel
(Ubuntu),sudo yum install axel
(CentOS)。 - 基本用法:
axel -n 10 下载地址
,-n 10
是开 10 线程。小编测的时候,开 10 线程比默认的 4 线程快了近一倍。 - 断点续传:断了之后,再输同样的命令,会提示 “继续下载?[Y/n]”,选 Y 就行。但它不支持 BT,这点不如 aria2。
3. wget(系统自带,基础下载够用)
几乎所有 Linux 系统都自带它,虽然不支持多线程,但胜在稳定,断点续传也好用。
- 用法:普通下载
wget 下载地址
,断点续传加-c
参数,wget -c 下载地址
。小编之前下一个老软件,只有 wget 能稳定连上,其他工具总报错,关键时刻还是得靠它。 - 想多线程咋办?可以装个插件叫
wget2
,支持多线程,安装后用wget2 -t 8 下载地址
,用法和 wget 差不多。
4. curl(开发者常用,适合脚本里调用)
它更像个工具库,能在脚本里用,下载只是其中一个功能。
- 用法:下载文件
curl -O 下载地址
,断点续传加-C -
,curl -C - -O 下载地址
。小编写自动备份脚本的时候,就用它来下载远程备份文件,挺可靠的。
5. lftp(FTP 下载专用,多线程给力)
要是你常从 FTP 服务器下东西,用它准没错,多线程 + 断点续传,比普通 FTP 工具快多了。
- 安装:
sudo apt install lftp
。 - 用法:先连接服务器
lftp ftp://用户名:密码@服务器地址
,然后输pget -n 8 文件名
,-n 8
是开 8 线程下载,速度比单线程快不少。
常见问题解答:碰到这些情况该怎么办?
- 线程开得越多越好吗? 不是哦,超过服务器允许的线程数,反而会被限速。一般开 8-16 线程就行,小编试过开 32 线程,速度反而慢了,还被服务器暂时封禁了 IP,得不偿失。
- 下到一半提示 “权限不够”? 可能是下载目录没写入权限,换个目录比如
/tmp
,或者加sudo
试试(但不建议随便用 sudo,小心权限乱了)。 - 后台下载怎么看进度? 用 aria2 的话,输
aria2c --show-progress
就能看到;axel 后台下载可以用tail -f axel.log
看日志。
小编自己平时用得最多的是 aria2,功能全,不管下普通文件还是 BT 都能搞定,设置一次之后基本不用操心。要是你刚接触命令行,建议从 aria2 学起,虽然参数多,但学会了真的很方便。axel 适合偶尔用用,简单快捷。wget 和 curl 就当备用,关键时刻能救急。
希望这些工具和用法能帮你解决命令行下载的烦恼,下东西越来越快,少走弯路!