在Linux服务器上下载文件是日常运维和开发中常见的操作,掌握多种下载方法能根据不同场景灵活选择,本文将详细介绍Linux服务器中常用的文件下载方式,包括命令行工具的使用、参数配置及注意事项,帮助用户高效完成文件下载任务。

常用下载工具及基本用法
Linux服务器环境下, wget和curl是最常用的下载工具,两者均支持HTTP、HTTPS、FTP等协议,且具备断点续传、后台下载等功能。
wget工具
wget是一款免费开源的文件下载工具,其特点是简单易用、支持递归下载,基本语法为wget [选项] URL。
- 基本下载:
wget https://example.com/file.zip,直接下载文件到当前目录。 - 断点续传:
wget -c https://example.com/file.zip,若下载中断,可通过-c参数续传。 - 后台下载:
wget -b https://example.com/file.zip,下载任务在后台执行,日志输出至wget-log文件。 - 限速下载:
wget --limit-rate=100k https://example.com/file.zip,限制下载速度为100KB/s,避免占用过多带宽。 - 下载多个文件:创建包含URL的文本文件(如
urls.txt),执行wget -i urls.txt批量下载。
curl工具
curl功能更为强大,支持多种协议,可模拟浏览器行为,适合需要复杂请求的场景,基本语法为curl [选项] URL。
- 基本下载:
curl -O https://example.com/file.zip,-O参数保留原文件名。 - 指定保存路径:
curl -o /path/to/file.zip https://example.com/file.zip,自定义保存位置和文件名。 - 断点续传:
curl -C - -O https://example.com/file.zip,-C -启用断点续传。 - 显示下载进度:
curl -# -O https://example.com/file.zip,以进度条形式显示下载状态。 - 通过代理下载:
curl -x proxyserver:port -O https://example.com/file.zip,指定代理服务器。
不同场景下的下载技巧
大文件下载
对于大文件,建议使用wget -c或curl -C -确保断点续传功能,避免网络中断导致下载失败,可通过--limit-rate参数限制带宽占用,保障服务器其他服务的正常运行。

下载整个网站
若需下载整个网站,可使用wget的递归下载功能:wget -r -np -k https://example.com,其中-r启用递归,-np不遍历父目录,-k转换链接为本地可用。
通过认证下载
若下载链接需要用户名/密码认证,wget可通过--user和--password参数指定:wget --user=username --password=pass https://example.com/protected/file.zip,curl则使用-u参数:curl -u username:pass -O https://example.com/protected/file.zip。
工具对比与选择
| 功能 | wget | curl |
|---|---|---|
| 协议支持 | HTTP、HTTPS、FTP等 | HTTP、HTTPS、FTP、SMTP等 |
| 递归下载 | 支持 | 不支持(需配合脚本实现) |
| 后台下载 | 支持(-b参数) |
不支持(需配合nohup) |
| 进度显示 | 默认简单进度条 | 可自定义进度条(参数) |
| 脚本友好性 | 输出简洁,适合自动化 | 支持更多自定义选项,灵活度高 |
注意事项
- 权限问题:确保当前用户对目标目录有写入权限,否则下载会失败。
- 网络稳定性:在网络不稳定的环境下,优先使用断点续传功能。
- 安全验证:下载敏感文件时,建议验证服务器证书(HTTPS),避免中间人攻击。
相关问答FAQs
Q1: 如何下载FTP服务器上的文件?
A: 使用wget或curl均可,wget示例:wget ftp://user:pass@ftpserver/path/file.zip;curl示例:curl -u user:pass -O ftp://ftpserver/path/file.zip,若FTP服务器为匿名访问,可省略用户名和密码。
Q2: 下载速度过慢如何优化?
A: 可通过以下方式优化:1)使用多线程下载工具(如axel);2)增加并发连接数(curl的--parallel参数);3)选择更快的镜像源;4)关闭不必要的网络服务,释放带宽。
