菜鸟科技网

终端命令行如何高效下载文件?

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

终端命令行如何高效下载文件?-图1
(图片来源网络,侵删)

基础下载工具: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是更优选择。

终端命令行如何高效下载文件?-图2
(图片来源网络,侵删)

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 轻量级、简单易用 快速多线程下载

注意事项

  1. 网络环境:命令行下载依赖网络稳定性,若频繁中断,建议使用支持断点续传的工具(如aria2、wget -c)。
  2. 权限问题:下载到系统目录需root权限,普通用户建议指定可写目录(如~/Downloads)。
  3. URL合法性:下载前需确认URL有效,避免因重定向或404错误导致失败。

相关问答FAQs

Q1: 如何通过命令行下载整个网站的图片?
A1: 可使用wget的递归下载功能,并仅抓取图片文件。wget -r -A jpg,jpeg,png,gif https://example.com/images,其中-A指定文件扩展名,-r启用递归,注意需遵守网站robots.txt协议,避免过度请求。

终端命令行如何高效下载文件?-图3
(图片来源网络,侵删)

Q2: 下载速度慢如何优化?
A2: 可尝试以下方法:

  • 使用多线程工具(如aria2 -x 16);
  • 通过--limit-rate限制带宽占用(如wget --limit-rate=100k),避免影响其他网络应用;
  • 更换镜像源或使用代理(如curl -x proxyserver:port URL)。
分享:
扫描分享到社交APP
上一篇
下一篇