rsync — 远程/本地文件同步工具,比 cp 强在"增量同步"。
核心功能:
- 增量复制 — 只传变化的部分,断点续传也方便
- 双向同步 — 本地→远程、远程→本地都行
- 保留属性 — 权限、时间戳、软链接等(
-a参数) - 压缩传输 — 网络传输时压缩数据(
-z) - 删除同步 — 源端删了,目标端也删(
--delete)
常用场景:
| 场景 | 命令 |
|---|---|
| 本地备份 | rsync -a /src/ /dst/ |
| 传到远程 | rsync -avz /src/ user@host:/dst/ |
| 从远程拉回 | rsync -avz user@host:/src/ /dst/ |
| 镜像同步(删除多余文件) | rsync -av --delete /src/ /dst/ |
| 显示进度 | rsync -aP /src/ /dst/ |
关键参数速记:
| 参数 | 作用 |
|---|---|
-a | 归档模式,保留一切(递归+权限+时间等) |
-v | 显示详细过程 |
-z | 传输时压缩 |
-P | 显示进度 + 断点续传 |
--delete | 目标端删除源端没有的文件 |
--dry-run | 先试运行,不实际改文件 |
⚠️ 注意: 源路径末尾有 / 和没有 / 含义不同:
rsync -a /src/ /dst/→ 同步 src 里面的内容到 dstrsync -a /src /dst/→ 把 src 整个目录放到 dst 下
简单说就是:智能版的 cp,特别适合大文件和远程传输。