在Linux命令行环境下,下载文件是日常运维和开发中的常见需求,通过命令行工具可以高效、灵活地完成各种下载任务,Linux提供了多种下载命令,支持不同的协议(如HTTP、HTTPS、FTP等)和功能特性,用户可以根据实际场景选择合适的工具,以下是常用下载命令的详细介绍及使用方法。

wget:多功能下载工具
wget是Linux中最经典的下载工具,支持HTTP、HTTPS、FTP等多种协议,具备断点续传、递归下载、后台下载等功能,其基本语法为wget [选项] [URL]
,常用选项包括:
-b
:后台下载,将日志输出到当前目录的wget-log
文件中;-c
:断点续传,适用于网络中断后继续未完成的下载;-r
:递归下载,可下载整个网站(需配合-np
避免下载父目录,-k
转换链接);-P
:指定下载目录,如wget -P /tmp URL
;-O
:指定输出文件名,如wget -O filename URL
;--limit-rate
:限速下载,如wget --limit-rate=100k URL
限制速度为100KB/s。
下载一个文件并保存到指定目录:wget -P /downloads https://example.com/file.zip
,若下载中断,可通过wget -c https://example.com/file.zip
继续。
curl:灵活的数据传输工具
curl最初为客户端URL工具设计,支持HTTP、HTTPS、FTP、SCP等众多协议,功能比wget更丰富,其基本语法为curl [选项] [URL]
,常用选项包括:
-o
:指定输出文件,如curl -o file.zip URL
;-O
:使用URL中的文件名保存,如curl -O URL
;-C -
:断点续传,类似wget的-c
;-L
:跟随重定向,适用于短链接或跳转页面;-u
:认证用户名密码,如curl -u username:password URL
;- 显示进度条,适合交互式操作。
curl还支持直接将输出传递给其他命令,例如通过curl -s URL | grep keyword
提取网页中的特定内容,curl可通过-X POST
等选项实现上传文件、发送POST请求等高级功能。

aria2:多协议高速下载工具
aria2是一款轻量级、支持多协议的下载工具,特点是支持多连接下载(可显著提升大文件下载速度)、BT/磁力链接下载、金属链接验证等,安装后可通过aria2c
命令调用,常用选项包括:
-x
:单文件最大连接数,如aria2c -x 16 URL
;-s
:总连接数,如aria2c -s 10 URL
;-c
:启用断点续传;-d
:指定下载目录,如aria2c -d /downloads URL
;-o
:指定文件名;--check-certificate
:禁用SSL证书验证(测试环境使用)。
使用10个连接下载文件:aria2c -s 10 -x 10 https://example.com/largefile.iso
,对于BT下载,可直接执行aria2c -d /downloads magnet:?xt=urn:btih:...
。
其他工具选择
- lynx:纯文本浏览器,可通过
lynx -dump URL > file.txt
下载网页内容为文本文件。 - scp/rsync:基于SSH的文件传输工具,适用于远程服务器间文件同步,如
scp user@remote:/path/to/file ./
。 - ftp/sftp:传统FTP协议客户端,需交互式登录,适合旧系统环境。
工具对比与选择建议
工具 | 支持协议 | 核心优势 | 适用场景 |
---|---|---|---|
wget | HTTP/HTTPS/FTP | 简单易用,递归下载 | 常规文件下载,网站镜像 |
curl | 协议最全 | 灵活交互,可集成到脚本 | API调用,需要高级HTTP功能 |
aria2 | 多协议+BT | 多线程加速,支持金属链接 | 大文件下载,P2P资源获取 |
若仅需简单下载,wget或curl足够;若追求速度且支持BT/磁力链接,aria2是首选;若需复杂HTTP操作(如Cookie处理、自定义请求头),curl更合适。
相关问答FAQs
Q1: 如何通过命令行下载整个网站?
A: 使用wget的递归下载功能,命令为wget -r -np -k -p https://example.com
,其中-r
递归下载,-np
不下载父目录,-k
转换链接使其可在本地浏览,-p
下载必要资源(如图片、CSS),注意需遵守网站robots.txt规则,避免对服务器造成过大压力。

Q2: 下载大文件时如何避免因网络中断导致任务失败?
A: 所有工具均支持断点续传:wget使用-c
选项(如wget -c largefile.zip
),curl使用-C -
(如curl -C - -O largefile.zip
),aria2默认启用断点续传,可通过nohup wget URL &
将任务放入后台运行,关闭终端也不会中断下载。