
你买了一台服务器,SSH连上去了,敲了一堆命令,搭好了环境。
然后你发现:本地电脑上的网站文件,怎么传上去?
你试过Ctrl+C Ctrl+V,没用。你试过拖拽,也没用。
别急。服务器不是U盘,不能直接复制粘贴。今天教你3种方法,把文件传到服务器上。
先看一个数据
某云厂商统计,超过70%的新手用户,第一次上传文件时用了错误的方法。有人用FTP(明文传输,不安全),有人用QQ发给自己再去服务器下载,还有人直接把文件贴到命令行里(真的,我见过)。
正确的做法是:用SFTP(SSH File Transfer Protocol)或rsync。今天讲的工具,都支持这两种安全协议。
第一款:WinSCP(Windows用户首选)
如果你用的是Windows,WinSCP是最佳选择。没有之一。
它长什么样?打开之后,左边是你的电脑,右边是服务器。像操作本地文件夹一样:拖拽、复制、粘贴、删除。
怎么用:
- 下载安装:https://winscp.net
- 打开后,填服务器IP、用户名、密码(和SSH登录一样)
- 协议选SFTP(默认就是)
- 登录成功,看到右边是服务器文件列表
- 把左边文件拖到右边,就上传了
进阶功能:
- 支持断点续传(传大文件中断了,下次接着传)
- 支持同步文件夹(本地改了,自动同步到服务器)
- 内置终端(不用另外开Putty,点一下就能敲命令)
适合谁:Windows用户、需要图形化界面、不想记命令的人。
第二款:FileZilla(跨平台,经典老牌)
如果你是Mac用户,或者想在Linux上用,FileZilla是个好选择。
它长什么样?也是左右分屏。左边本地,右边服务器。拖拽就能传。
怎么用:
- 下载安装:https://filezilla-project.org
- 顶部填:主机(服务器IP)、用户名、密码、端口(22)
- 点击“快速连接”
- 看到右边是服务器文件列表
- 拖拽上传
优点:
- 跨平台(Windows/Mac/Linux都能用)
- 免费开源
- 支持FTP、SFTP、FTPS
缺点:
- 界面有点老气
- 有些版本会捆绑广告软件(安装时注意取消勾选)
适合谁:Mac用户、需要跨平台、习惯用FileZilla的人。
第三款:rsync(命令行,适合自动化)
前面两款都是图形化工具,适合手动上传。但如果你需要自动同步(比如每次本地改了代码,自动传到服务器),或者增量备份(只传变化的文件),就要用rsync。
rsync是什么?Linux下的文件同步工具。特点是:增量传输、支持压缩、支持断点续传、支持SSH加密。
基本用法:
把本地文件上传到服务器:
bash
rsync -avz /本地/目录/ root@服务器IP:/服务器/目录/
参数解释:
-a:归档模式,保留权限、时间戳-v:显示详细信息-z:传输时压缩
高级用法:只上传变化的文件
bash
rsync -avz --delete /本地/目录/ root@服务器IP:/服务器/目录/
--delete的意思是:如果本地删了某个文件,服务器上也删掉。保持两边完全一样。
自动化部署:写个脚本,每次本地改完代码,跑一下rsync,自动同步到服务器。很多开发者用这个做“一键部署”。
适合谁:开发者、需要自动化、喜欢命令行的用户。
第四款:scp(最简单,一行搞定)
如果你只是偶尔传一两个文件,不想装任何软件,用scp。
scp是什么?SSH自带的文件传输命令。只要你能SSH登录,就能用scp。
上传文件:
bash
scp /本地/文件 root@服务器IP:/服务器/路径/
下载文件:
bash
scp root@服务器IP:/服务器/文件 /本地/路径/
上传整个文件夹(加-r参数):
bash
scp -r /本地/文件夹/ root@服务器IP:/服务器/路径/
优点:不用装软件,系统自带。
缺点:不支持断点续传,大文件中断了要重传。
适合谁:偶尔传一两个小文件、不想装软件的人。
一个真实案例:从WinSCP到rsync
有个朋友做个人博客,刚开始用WinSCP,每次改完文章,打开软件,拖拽上传,关闭软件。一天改三次,就重复三次。
后来我教他用rsync。他写了个脚本:
bash
rsync -avz --delete /本地/blog/ root@服务器:/var/www/html/
每次改完文章,在终端敲一下./deploy.sh,几秒钟就同步好了。他说:“以前每天花10分钟传文件,现在10秒钟。”
怎么选?直接给结论
| 场景 | 推荐工具 |
|---|---|
| Windows用户、手动上传、图形化 | WinSCP |
| Mac用户、手动上传、跨平台 | FileZilla |
| 开发者、自动化部署、增量同步 | rsync |
| 偶尔传一两个小文件 | scp |
不知道选哪个? 如果你是Windows,用WinSCP。如果你是Mac,用FileZilla。如果你要自动化,学rsync。
一个反常识的观点:手动上传是最低效的
很多人习惯“手动上传”——改一个文件,打开FTP,拖拽上传,关闭FTP。一天重复几十次。
其实你完全可以自动化。用rsync,一行命令。或者用VS Code的SFTP插件,保存文件自动上传。
手动操作的每一秒,都是你浪费的生命。
最后一句
文件传输是服务器管理的第一步,也是最容易被忽视的一步。
选一个顺手的工具,学会它。以后每次传文件,都会变得简单、快速、省心。
Windows用WinSCP,Mac用FileZilla,自动化用rsync。三选一,够用很久了。
你的网站文件还在本地吗?传上去,让它真正跑起来。




