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

【linux】scp和rsync

scprsync 都是 Linux 系统中用于文件传输的命令行工具,它们都可以通过网络在本地和远程主机之间传输文件。

scp 命令

定义

scp 是 “secure copy” 的缩写,它是一个基于 SSH 协议的文件传输工具,用于在本地和远程主机之间安全地复制文件。

特点
  • 安全性:通过 SSH 协议传输数据,确保数据在传输过程中是加密的。
  • 简单性:使用简单,语法直观,适合简单的文件传输任务。
  • 限制性:只能传输整个文件,不能进行增量传输或目录同步。
常用选项
  • -i:指定 SSH 密钥文件。
  • -P:指定远程主机的 SSH 端口号。
  • -r:递归复制目录。
示例
# 将本地文件传输到远程主机
scp /本地路径/文件名 用户名@远程主机IP:/远程路径

# 将远程主机的文件传输到本地
scp 用户名@远程主机IP:/远程路径/文件名 /本地路径

# 传输目录(递归复制)
scp -r /本地路径/目录名 用户名@远程主机IP:/远程路径

rsync 命令

定义

rsync 是 “remote synchronization” 的缩写,它是一个功能强大的文件传输和同步工具,支持增量传输和目录同步。

特点
  • 增量传输:只传输文件的差异部分,节省带宽和时间。
  • 同步功能:可以保持本地和远程目录的一致性。
  • 灵活性:提供丰富的选项,如过滤器、带宽限制等。
  • 效率:对于大量数据和重复传输任务非常高效。
常用选项
  • -a:归档模式,递归传输并保持文件属性。
  • -v:详细模式,显示传输过程中的详细信息。
  • -z:压缩传输,减少传输数据量。
  • -r:递归传输目录。
  • -n:dry-run 模式,仅模拟传输过程,不实际传输文件。
  • --delete:删除目标目录中不存在于源目录的文件,保持同步。
示例
# 将本地文件传输到远程主机
rsync -avz /本地路径/文件名 用户名@远程主机IP:/远程路径

# 将远程主机的文件传输到本地
rsync -avz 用户名@远程主机IP:/远程路径/文件名 /本地路径

# 同步本地目录到远程主机
rsync -avz /本地路径/目录名/ 用户名@远程主机IP:/远程路径

# 使用 dry-run 模式模拟传输
rsync -avzn /本地路径/目录名/ 用户名@远程主机IP:/远程路径

# 同步并删除目标目录中多余的文件
rsync -avz --delete /本地路径/目录名/ 用户名@远程主机IP:/远程路径

异同点:

相同点
  1. 文件传输:两者都可以用于在本地和远程主机之间传输文件。
  2. 基于 SSH:两者都使用 SSH 协议进行安全传输,确保数据在传输过程中是加密的。
不同点
特性scprsync
功能仅支持文件和目录的复制支持文件和目录的复制,以及增量同步
传输方式每次传输整个文件只传输文件的差异部分,节省带宽
性能对于小文件和少量数据传输效率较高对于大量数据和重复传输效率较高
灵活性配置简单,使用方便提供更多的选项,如过滤器、带宽限制等
适用场景适用于简单的文件传输任务适用于需要同步大量数据或保持数据一致性的场景
命令格式scp [选项] 源文件 目标文件rsync [选项] 源文件 目标文件

总结

  • scp:适用于简单的文件传输任务,配置简单,使用方便。
  • rsync:适用于需要同步大量数据或保持数据一致性的场景,支持增量同步,节省带宽。

http://www.kler.cn/a/597719.html

相关文章:

  • 深度学习-151-Dify工具之创建一个生成财务报表的智能体Agent
  • 使用bat批量获取WORD中包含对应字符的段落,段落使用回车换行
  • CEFPN
  • for循环 jdk8 stream Api写法
  • 爬虫逆向解决debugger问题
  • 社区医疗管理系统基于Spring Boot SSM
  • xss复现
  • 常见CMS漏洞之二:DeDeCMS
  • GGUF 和 llama.cpp 是什么关系
  • 用 pytorch 从零开始创建大语言模型(六):对分类进行微调
  • [leetcode]1263. 推箱子(A*+优先队列BFS+DFS)
  • 基于Redis分布锁+事务补偿解决数据不一致性问题
  • 游戏引擎学习第173天
  • MySQL 安全传输
  • 【leetcode hot 100 131】分割回文串
  • 2025-03-21 学习记录--C/C++-PTA 练习7-7 矩阵运算
  • 稳定运行的以Oracle NoSQL数据库为数据源和目标的ETL性能变差时提高性能方法和步骤
  • k8s主要控制器简述(二)DaemonSet|Job|CronJob
  • OpenCV图像拼接(5)用于计算一组图像的特征点和描述符的函数computeImageFeatures()
  • 数据结构之基本队列-顺序结构实现-初始化-判断队列是否为空(front=rear)-出队-入队-队尾满了,调整队列-获取队头元素