如何将本地文件上传到 Linux 服务器(详细指南)
在日常开发、运维或数据管理中,将本地文件上传到 Linux 服务器是高频操作,本文提供 4 种主流方法,涵盖命令工具与图形界面,兼顾安全性与效率,适合不同技术背景的用户。
SCP 命令(安全复制)
适用场景:快速传输单个文件或小批量文件,基于 SSH 加密。
操作步骤:
# 示例:将本地的 backup.tar.gz 上传到服务器的 /opt/backups 目录 scp ~/backup.tar.gz user@192.168.1.100:/opt/backups/ # 上传整个目录(加 -r 参数) scp -r ~/project_folder/ user@192.168.1.100:/var/www/
注意:
- 首次连接需输入
yes
确认服务器指纹 - 推荐使用 SSH 密钥替代密码(通过
ssh-keygen
生成密钥对)
SFTP 命令(安全文件传输)
适用场景:交互式操作,需浏览服务器目录或批量上传。
操作流程:
- 连接服务器:
sftp user@192.168.1.100
- 常用命令:
put [本地文件]
→ 上传单个文件(例:put resume.pdf
)mput [文件通配符]
→ 批量上传(例:mput *.jpg
)cd [目录]
→ 切换服务器路径lcd [目录]
→ 切换本地路径exit
→ 退出
Rsync(增量同步)
适用场景:大文件或需增量备份的场景,仅传输变化部分。
典型命令:
# 同步本地文件夹到服务器(保留权限,显示进度) rsync -avzP ~/documents/ user@192.168.1.100:/backup/docs/ # 参数说明: # -a:归档模式(保留属性) # -v:显示详细过程 # -z:压缩传输 # -P:显示进度条
图形化工具(FileZilla)
适用场景:非技术用户或需可视化操作。
操作步骤:
- 下载安装 FileZilla(支持 Win/macOS/Linux)
- 顶部输入栏填写:
- 主机:
sftp://服务器IP
(例:sftp://192.168.1.100
) - 用户名/密码:SSH 凭证
- 主机:
- 左侧(本地)拖拽文件 → 右侧(服务器目录)释放
⚠️ 安全注意事项
- 禁用 root 传输:使用普通用户账号,通过
sudo
提权 - 防火墙配置:确保服务器开放 SSH 端口(默认 22)
- 敏感文件加密:传输前用 GPG 加密(命令:
gpg -c secretfile.txt
) - 日志监控:检查传输记录
cat /var/log/auth.log | grep scp
方法选择建议
需求 | 推荐方式 | 优势 |
---|---|---|
单文件快速传输 | SCP | 命令简洁,无需交互 |
目录批量管理 | SFTP | 实时浏览,操作灵活 |
定期备份同步 | Rsync | 增量同步,节省带宽 |
可视化操作 | FileZilla | 零学习成本,拖拽即用 |
最佳实践:生产环境优先使用 Rsync+SSH密钥,兼顾效率与安全;临时传输用 SCP;日常管理可选 FileZilla。
通过以上方法,您可高效安全地完成文件传输,建议首次操作前在测试环境练习,避免误覆盖关键数据。
引用说明参考 Linux 官方文档(SCP、Rsync)及 FileZilla 操作手册,遵循 SSH 文件传输协议标准(RFC 4253)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7523.html