1. 为什么需要本地与云服务器文件互传?
在开发运维工作中,我们经常遇到这样的场景:本地编写的代码需要部署到服务器测试,服务器生成的日志要拉取到本地分析,或是团队协作时需要同步配置文件。传统U盘拷贝的方式显然不适用于远程服务器,而直接在线编辑又存在版本混乱的风险。
我经历过一次惨痛教训:在服务器上直接修改Nginx配置导致语法错误,由于没有本地备份,花了3小时才恢复服务。自那以后,我养成了所有修改都先在本地完成再同步到服务器的习惯。下面介绍几种经过实战检验的文件传输方案。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. SCP命令:最基础的加密传输方案
2.1 SCP命令核心语法
SCP基于SSH协议实现加密传输,基本命令格式如下:
bash复制# 上传本地文件到服务器
scp /本地/文件路径 用户名@服务器IP:/远程/目录
# 下载服务器文件到本地
scp 用户名@服务器IP:/远程/文件路径 /本地/目录
例如将本地的index.html上传到服务器的/var/www目录:
bash复制scp ~/projects/index.html root@192.168.1.100:/var/www/
2.2 实用参数详解
-
-P指定非标准SSH端口(注意是大写P):bash复制
scp -P 2222 file.txt user@host:/dir -
-r递归传输整个目录:bash复制
scp -r my_project root@host:/opt -
-C启用压缩传输(适合大文件):bash复制
scp -C backup.tar.gz user@host:/backups -
-l限制带宽(单位Kbit/s):bash复制
scp -l 800 large_file.iso user@host:/data
注意:SCP在传输大量小文件时性能较差,建议先打包再传输。我曾用SCP传2000个小图片花了40分钟,打包成tar后只需2分钟。
3. SFTP:交互式文件管理方案
3.1 基本连接与操作
SFTP提供了类似FTP的交互界面,但通过SSH加密。连接方式:
bash复制
