终端命令行下载是Linux、macOS等操作系统中高效获取文件的重要方式,相比图形界面操作,命令行下载具有速度快、资源占用低、可自动化脚本执行等优势,本文将详细介绍几种主流的终端下载工具及其使用方法,涵盖HTTP/HTTPS、FTP、BT等多种协议,帮助用户根据需求选择合适的工具。

基础下载工具:curl与wget
curl和wget是终端中最常用的下载工具,二者功能互补,适用于不同场景。
curl支持多种协议(HTTP、HTTPS、FTP、SCP等),可通过参数灵活控制请求头、认证信息等,基本语法为curl [选项] URL
,下载文件并显示进度条:curl -L -O https://example.com/file.zip
,其中-L
跟随重定向,-O
保存原文件名,若需断点续传,可添加-C -
参数:curl -C - -O https://example.com/file.zip
,curl还支持直接输出到文件(-o filename
)或通过管道传递给其他命令(如curl -s https://api.example.com | jq
)。
wget专注于HTTP/HTTPS/FTP协议,支持递归下载、镜像网站等功能,基本语法为wget [选项] URL
,下载单个文件:wget https://example.com/file.zip
;递归下载整个网站(仅限3层目录):wget -r -l 3 https://example.com
,wget的断点续传通过-c
参数实现:wget -c https://example.com/file.zip
,wget可在后台下载(-b
),并记录日志到wget-log
文件,适合长时间任务。
高级下载工具:aria2与axel
对于大文件或需要多线程加速的场景,aria2和axel是更优选择。

aria2支持多协议(HTTP、HTTPS、FTP、BT、磁力链接等),可通过多线程显著提升下载速度,基本语法为aria2c [选项] URL
,开启16线程下载:aria2c -x 16 -s 16 https://example.com/largefile.iso
,若下载BT文件,直接传入.torrent文件或磁力链接:aria2c -d /path/to/save magnet:?xt=urn:btih:...
,aria2还支持配置文件(~/.aria2/aria2.conf
),可设置默认线程数、下载目录等,适合批量任务。
axel是轻量级多线程下载工具,语法简单,适合快速启动,基本语法为axel -n [线程数] [URL]
,用8线程下载:axel -n 8 https://example.com/file.zip
,axel会自动显示进度条和剩余时间,支持断点续传(自动检测未完成文件)。
工具对比与选择
以下是常用下载工具的对比:
工具 | 支持协议 | 多线程 | 断点续传 | 特色功能 | 适用场景 |
---|---|---|---|---|---|
curl | 多协议 | 否 | 是 | 支持请求头、认证、管道传输 | 精准控制请求、API交互 |
wget | HTTP/HTTPS/FTP | 否 | 是 | 递归下载、镜像网站 | 网站爬取、批量文件获取 |
aria2c | 多协议 | 是 | 是 | BT/磁力链接、配置文件 | 大文件、多协议混合下载 |
axel | HTTP/HTTPS | 是 | 是 | 轻量级、简单易用 | 快速多线程下载 |
注意事项
- 网络环境:命令行下载依赖网络稳定性,若频繁中断,建议使用支持断点续传的工具(如aria2、wget -c)。
- 权限问题:下载到系统目录需root权限,普通用户建议指定可写目录(如
~/Downloads
)。 - URL合法性:下载前需确认URL有效,避免因重定向或404错误导致失败。
相关问答FAQs
Q1: 如何通过命令行下载整个网站的图片?
A1: 可使用wget的递归下载功能,并仅抓取图片文件。wget -r -A jpg,jpeg,png,gif https://example.com/images
,其中-A
指定文件扩展名,-r
启用递归,注意需遵守网站robots.txt协议,避免过度请求。

Q2: 下载速度慢如何优化?
A2: 可尝试以下方法:
- 使用多线程工具(如aria2 -x 16);
- 通过
--limit-rate
限制带宽占用(如wget --limit-rate=100k),避免影响其他网络应用; - 更换镜像源或使用代理(如
curl -x proxyserver:port URL
)。