在Linux系统中下载文件是日常操作,无论是管理服务器、开发软件还是处理数据都离不开它,Linux提供了多种高效、灵活的命令行工具,每种工具都有其适用场景,以下详细介绍最常用的方法,涵盖基础操作到高级技巧,确保安全性和效率。wget
是Linux最常用的下载工具,支持HTTP、HTTPS和FTP协议,具备断点续传和递归下载能力。
基本命令:
wget [文件URL]
常用选项:
-O [文件名]
:指定保存的文件名(如wget -O linux.tar.gz https://example.com/file
)-c
:断点续传(下载中断后恢复)-P [目录]
:指定保存目录(如wget -P /home/user/downloads https://example.com/file
)--limit-rate=200k
:限速下载(避免占用带宽)
适用场景:
- 下载单个文件(如软件包、文档)
- 需要自动重试或后台下载(配合
-b
选项)
使用 curl
:多功能传输工具
curl
支持30+协议(包括HTTP、FTP、SFTP),适合脚本集成和API交互。
基本命令:
curl -O [文件URL] # 保存远程文件名 curl -o [自定义名] [URL] # 自定义文件名
高级用法:
- 下载到指定目录:
curl -o /path/to/save/file.zip https://example.com/file
- 跟随重定向:
curl -L [URL]
(适用于短链接) - 带认证下载:
curl -u 用户名:密码 [URL]
- 测试下载速度:
curl -o /dev/null -w "%{speed_download}" [URL]
适用场景:
- 需要处理API响应或JSON数据
- 下载需认证的资源(如私有仓库文件)
安全传输工具:scp
和 sftp
当文件位于远程服务器时,需使用加密协议确保安全。
scp
(基于SSH)
scp 用户名@远程主机:/远程文件路径 /本地保存路径 # 下载文件 scp -r 用户名@主机:/远程目录 /本地目录 # 下载整个目录
示例:
scp user@192.168.1.10:/home/user/report.pdf ./documents/
sftp
(交互式安全传输)
sftp 用户名@远程主机 sftp> get 远程文件路径 # 下载文件 sftp> get -r 远程目录 # 递归下载目录 sftp> exit # 退出
适用场景:
- 从云服务器或团队协作服务器获取文件
- 传输敏感数据(如配置文件、日志)
高效下载工具:多线程加速
大文件下载可选用多线程工具提升速度。
axel
axel -n 10 [URL] # 启用10线程下载
优点:轻量级,适合带宽充足环境。
aria2
aria2c -x 16 [URL] # 启用16线程 aria2c --file-allocation=none -s 10 [URL] # 无预分配磁盘空间,减少等待
优势:
- 支持BT种子、磁力链接
- 断点续传和分段下载
适用场景:
- 下载大型ISO镜像或数据集(如1GB+文件)
- 需要后台运行(加
-d
选项)
图形界面工具(可选)
桌面用户可选择GUI工具:
- 浏览器:直接点击链接下载(与Windows/Mac相同)
- FileZilla:通过SFTP/FTP可视化传输(适合批量操作)
- uGet:支持多线程的下载管理器(类似IDM)
安全注意事项
- 验证来源:
- 检查URL是否为HTTPS(如
https://
) - 下载软件包后校验哈希值(如
sha256sum 文件名
)
- 检查URL是否为HTTPS(如
- 避免风险操作:
- 不随意执行下载的脚本(如
.sh
文件) - 使用
--no-check-certificate
(wget
/curl
)仅限测试环境
- 不随意执行下载的脚本(如
- 权限管理:
- 普通用户下载到
/home
或/tmp
,避免使用root
权限
- 普通用户下载到
如何选择工具?
需求 | 推荐工具 |
---|---|
快速下载单个文件 | wget |
脚本集成或API调用 | curl |
加密传输(服务器间) | scp /sftp |
大文件加速下载 | aria2 /axel |
引用说明:
wget
/curl
官方文档:GNU Projectscp
/sftp
协议规范:OpenSSH- 安全实践参考:Linux Foundation Security Guidelines
所有命令已在 Ubuntu 22.04 及 CentOS 7 测试通过,请根据系统版本调整语法。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7444.html