一、5 种工具速览表
| 工具 | 一句话定位 | 典型场景 |
|---|---|---|
| scp | 简单安全的远程复制 | 本机与服务器之间快速传单个或少量文件 |
| rsync | 增量同步神器 | 大量文件、目录同步、备份、断点续传 |
| sftp | 交互式安全文件传输 | 需要浏览目录、上传下载、管理远程文件 |
| rz | 本地上传到远程(配合终端) | 通过 Xshell、SecureCRT 等终端上传小文件 |
| sz | 远程下载到本地(配合终端) | 通过终端从服务器下载小文件 |
二、决策流程图(收藏核心价值)
需要传文件? ├─ 是少量小文件,且在用终端工具? │ ├─ 上传 → rz │ └─ 下载 → sz ├─ 是大量文件或目录,需要增量同步/备份? │ └─ rsync ├─ 需要交互式浏览、管理远程文件? │ └─ sftp └─ 只是简单复制,命令越短越好? └─ scp
三、每种工具一句话上手
-
scp:
scp file user@host:/path,本机传到服务器;反过来就是下载。 -
rsync:
rsync -avz source/ user@host:/dest/,增量同步,支持断点续传。 -
sftp:
sftp user@host,进入交互式界面,用put、get、ls、cd操作。 -
rz:终端里输入
rz,弹出窗口选择本地文件上传到当前目录。 -
sz:终端里输入
sz filename,把服务器文件下载到本地。
四、对比决策表
| 维度 | scp | rsync | sftp | rz | sz |
|---|---|---|---|---|---|
| 是否加密 | 是 | 是(SSH) | 是 | 依赖终端 | 依赖终端 |
| 增量传输 | 否 | 是 | 否 | 否 | 否 |
| 断点续传 | 否 | 是 | 部分支持 | 否 | 否 |
| 交互式操作 | 否 | 否 | 是 | 否 | 否 |
| 适合大量文件 | 一般 | 最佳 | 一般 | 不适合 | 不适合 |
| 依赖终端工具 | 否 | 否 | 否 | 是 | 是 |
| 上手难度 | 低 | 中 | 低 | 低 | 低 |
五、常见问题 5 问
-
scp 和 rsync 怎么选?
少量文件用 scp,大量文件、目录同步或备份用 rsync。 -
rz/sz 为什么有时传大文件会失败?
它们依赖终端工具和协议,大文件容易超时或中断,建议改用 scp、rsync 或 sftp。 -
sftp 和 scp 有什么区别?
scp 适合一条命令快速复制,sftp 适合交互式浏览、上传、下载和管理。 -
rsync 第一次同步也很慢?
第一次是全量传输,之后才是增量,所以第一次慢是正常的。 -
这些工具都需要服务器开什么服务?
scp、rsync、sftp 都走 SSH,通常只要 SSH 能连就行;rz/sz 需要终端工具支持。
六、核心观点
服务器传文件没有“最好”,只有“最合适”。
小文件用 rz/sz,简单复制用 scp,大量同步用 rsync,交互管理用 sftp。
记住那张决策流程图,基本就能覆盖日常运维场景。