当前位置: 首页 > news >正文

rsync与scp的作用与核心区别

rsync 与 scp 笔记

一、作用

scprsync都可以通过 SSH 在本机和远程主机之间传输文件。

  • scp:适合简单复制文件或目录,用法直观。
  • rsync:适合同步文件或目录,只传输变化的部分,效率更高。

二、scp

1. 基本格式

scp[选项]源文件 目标位置

远程路径格式:

用户名@主机IP:路径

2. 本地复制到远程

scpfile.txt root@192.168.1.10:/root/

含义:把本地file.txt复制到远程主机/root/目录。

3. 远程复制到本地

scproot@192.168.1.10:/root/file.txt ./

含义:把远程主机/root/file.txt复制到当前目录。

4. 复制目录

scp-rdir/ root@192.168.1.10:/root/

-r表示递归复制目录。

5. 指定端口

scp-P2222file.txt root@192.168.1.10:/root/

注意:scp指定端口使用大写-P

三、rsync

1. 基本格式

rsync[选项]源路径 目标路径

常用组合:

rsync-av源路径 目标路径
  • -a:归档模式,保留权限、时间、软链接等信息。
  • -v:显示同步过程。
  • -z:传输时压缩数据,适合网络较慢时使用。
  • --delete:删除目标端多余文件,使两边完全一致。

2. 本地同步到远程

rsync-avdir/ root@192.168.1.10:/root/dir/

含义:把本地dir/目录中的内容同步到远程/root/dir/

3. 远程同步到本地

rsync-avroot@192.168.1.10:/root/dir/ ./dir/

含义:把远程/root/dir/中的内容同步到本地./dir/

4. 指定 SSH 端口

rsync-av-e"ssh -p 2222"dir/ root@192.168.1.10:/root/dir/

注意:rsync指定 SSH 端口通常通过-e "ssh -p 端口"

5. 删除目标端多余文件

rsync-av--deletedir/ root@192.168.1.10:/root/dir/

含义:目标目录中源目录没有的文件也会被删除。

使用--delete前要确认目标路径,避免误删。

四、路径结尾斜杠的区别

rsync对目录结尾的/很敏感。

1. 带斜杠

rsync-avdir/ /backup/dir/

同步dir目录里面的内容。

2. 不带斜杠

rsync-avdir/backup/

同步整个dir目录,最终结果通常是/backup/dir/

记忆:

  • dir/:复制目录里面的东西。
  • dir:复制目录本身。

五、rsync 与 scp 的区别

对比项scprsync
主要用途复制文件同步文件
传输方式通常整文件传输只传变化部分
目录同步需要-r使用-a更常见
删除多余文件不支持自动删除支持--delete
断点/增量能力较弱较强
适合场景临时拷贝小文件备份、部署、重复同步

六、常见使用场景

1. 临时传一个文件

scptest.txt root@192.168.1.10:/tmp/

2. 同步项目目录

rsync-av--deleteproject/ root@192.168.1.10:/var/www/project/

3. 先预览 rsync 会做什么

rsync-av--dry-run project/ root@192.168.1.10:/var/www/project/

--dry-run表示只演示,不真正执行同步。

七、总结

  • 只是简单拷贝文件,用scp
  • 需要重复同步目录、做备份或部署,用rsync
  • rsync使用前要注意路径后面的/
  • 使用--delete前最好先加--dry-run预览结果。
http://www.jsqmd.com/news/856415/

相关文章:

  • 2026年英文文献阅读软件推荐:研一新生用Scholaread靠岸学术3个月读透50篇文献的完整方法
  • 别再只调超参了!深入TD3三大‘黑科技’,解决DDPG训练不稳定与过估计的老大难问题
  • STM32G474实战:用CubeIde配置互补PWM驱动电机,这10个坑我帮你踩过了
  • 央视解码君乐宝悦鲜活 郭晶晶与尼格买提探秘高品质中国鲜奶
  • VMware虚拟机内存越用越多?用Sysinternals RAMMap64一键清理宿主机缓存(附定时任务脚本)
  • 别再问‘我这是固定IP吗’了,Linux下用ip addr和nmcli一眼看穿静态/动态IP
  • 为什么你的Midjourney时装图总被拒稿?揭秘Pantone TPX数据库未公开调用逻辑及RGB→PMS精准映射公式
  • 为OpenClaw配置Taotoken作为后端大模型服务的完整流程
  • 2026年4月西藏靠谱的体育看台源头厂家推荐,体育看台/雨棚/遮阳棚/推拉蓬/电动推拉棚,体育看台生产厂家怎么选择 - 品牌推荐师
  • XTDrone集群调试实录:当ego-swarm遇上vins-fusion,如何揪出那个让无人机‘乱飞’的坐标偏移Bug?
  • 从鸢尾花到收入预测:手把手教你用Pandas和sklearn搞定KNN分类的数据预处理全流程
  • 软件研发 --- 应知应会 之 为什么别人的软件如此复杂我的如此简单
  • FPGA图像处理实战:用Vivado移位寄存器IP核搞定5x5中值滤波(附Verilog源码)
  • 轻松实现Zoho系统与轻易云数据集成平台的无缝对接
  • 从推荐逻辑到库存架构:木鸟民宿、携程民宿、爱彼迎场景化服务技术对比
  • AMKASYN AZ05-0-0-1驱动器
  • 别再傻傻分不清L2和L3了!一张图看懂自动驾驶分级(附SAE/国标对照表)
  • vscode里使用EIDE,编译GD32,如何屏蔽官方库的C语言代码警告提示(非错误)
  • 驭势科技上市首日破发,L4级自动驾驶商业化盈利之路仍待突破
  • 英语阅读_The bitter taste of climate change
  • 保姆级教程:用Docker Compose一键部署PostgreSQL 14,再也不用记那些繁琐的docker run命令了
  • 从元计算到舱驾融合:国产AI芯片五大技术路线横向观察
  • 极竞魔方XR大空间亮相孩子王南京城市亲子节
  • 保姆级教程:在Ubuntu 22.04上搞定MySQL 8.0安装、用户权限与远程连接(避坑指南)
  • 利刃混剪:告别重复劳动:用脚本思维搞定剪映批量混剪(实战分享)
  • GJB/Z 299D-2024 可靠性预计工具 —— 国产自主可控的电子设备可靠性评估利
  • 保姆级教程:用ROS2的Component机制和TF2实现小乌龟跟随(C++/Python双版本)
  • 以太网自动协商:让网络设备“握手”的隐形功臣
  • 生成式搜索生态下品牌数字化增长选型体系
  • Play Integrity API Checker:终极Android设备完整性检测工具指南