Linux学习之远程拷贝数据命令

在Linux中常用的远程复制命令有三个

SCP

参数详解
-- SCP(Secure Copy)是一种通过SSH协议进行文件传输的工具,可以在不同Linux主机之间复制文件。
-- 命令格式:
scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program] source ... target
-- 参数介绍
-3 
-4 :强制使用IPV4地址
-6 :强制使用IPV6地址
-B :在复制过程中禁止要求输入密码或密码短语,通过—B可以启用批处理模式
-C :启用压缩
-c cipher :选择一个算法来加密传输中的数据
-F ssh_config:指定一个替代的SSH配置文件,此参数直接传递给ssh
-i identity_file:从指定文件中读取传输时使用的密钥文件,
-l limit:指定带宽限制,默认Kbit/s
-P port:指定远程主机的端口,因scp是基于SSH协议的,默认是22端口
-p :保持原来文件的模式,如文件的修改时间,访问时间
-v :详细模式
实例
- 从本地主机复制文件至远程节点scp local_file remote_username@remote_ip:remote_folder  scp local_file remote_username@remote_ip:remote_file scp local_file remote_ip:remote_folder scp local_file remote_ip:remote_file 
- 从远程节点复制文件至本地主机scp remote_username@remote_ip:remote_file local_folder scp remote_username@remote_ip:remote_file local_file scp remote_ip:remote_file local_folder scp remote_ip:remote_file local_file 
- 从本地主机复制目录至远程节点scp -r local_folder remote_username@remote_ip:remote_folder scp -r local_folder remote_ip:remote_folder
- 从远程节点复制目录至本地主机scp -r remote_username@remote_ip:remote_folder local_folder  scp -r remote_ip:remote_folder local_folder

rsync

Rsync是一种快速、多功能的文件复制工具,可以在本地主机或不同主机之间复制文件。

参数详解
-v, --verbose               冗长的详细信息--info=FLAGS            --debug=FLAGS           调试输出的详细程度--msgs2stderr           调试专用输出
-q, --quiet                 抑制非错误输出--no-motd               抑制后端 MOTD 
-c, --checksum              跳过基础校验
-a, --archive               归档模式;-rlptgoD (no -H,-A,-X)--no-OPTION             关闭隐含的选项(e.g. --no-D)
-r, --recursive             递归目录
-R, --relative              使用相对的路径名称--no-implied-dirs       禁止传输隐含目录
-b, --backup                创建备份 (see --suffix & --backup-dir)--backup-dir=DIR        基于DIR创建层次化备份--suffix=SUFFIX         备份后缀 (默认 ~ w/o --backup-dir)
-u, --update                跳过接收方更新过的文件--inplace               就地更新目录文件--append                将数据附加到短文件中??--append-verify         --append w/old data in file checksum
-d, --dirs                  不递归传递目录
-l, --links                 复制软链接
-L, --copy-links            将符号链接转换为引用的文件/目录--copy-unsafe-links     只有不安全的符号链接才会转换--safe-links            忽略指向树外的符号链接--munge-links           对符号链接进行修改使它更安全
-k, --copy-dirlinks         将符号链接转换为真实目录
-K, --keep-dirlinks         将接收端上的符号链接目录视为普通目录
-H, --hard-links            保留硬链接
-p, --perms                 保留权限
-E, --executability         保留可执行特性--chmod=CHMOD           影响文件和目录权限
-A, --acls                  保持ACL (implies -p)
-X, --xattrs                保留扩展属性
-o, --owner                 保留属主
-g, --group                 保留属组--devices               保留设备文件--copy-devices          复制设备内容通过一个常规文件--specials              保持指定的文件
-D--devices --specials
-t, --times                 保留修改时间
-O, --omit-dir-times        从--times中排除目录
-J, --omit-link-times       从--times中排除链接--super                 接收端尝试使用super用户--fake-super            使用扩展属性存储和恢复特权属性
-S, --sparse                将连续空转换为稀疏块--preallocate           向目标文件写之前先分配空间
-n, --dry-run               执行模拟运行不做任何更改
-W, --whole-file            复制整个文件--checksum-choice=STR   选择checksum算法
-x, --one-file-system       不跨越系统边界
-B, --block-size=SIZE       强制使用固定的块校验大小
-e, --rsh=COMMAND           指定远程使用的shell--rsync-path=PROGRAM    指定远程主机上rsync要执行的路径??--existing              接收时跳过创建新文件--ignore-existing       跳过更新文件如果已经存在--remove-source-files   发送后删除源文件--del                   在传输过程中删除目标目录中不存在于源目录中的文件和目录--delete                从目标目录中删除多余的文件--delete-before         接收前先进行删除--delete-during         在传输过程中删除目标目录中不存在于源目录中的文件和目录--delete-delay          传输完成后删除--delete-after          在传输完成后,接收方删除文件而不是在传输过程中删除--delete-excluded       只删除在目标目录中排除在外的文件--ignore-missing-args   忽略不存在的源args不报错--delete-missing-args   从目标删除源args--ignore-errors         尽管有IO错误依然删除--force                 强制删除目录下的文件--max-delete=NUM        不删除多于 NUM 文件--max-size=SIZE         指定能传输的最大文件大小--min-size=SIZE         不传输小于SIZE大小的文件--partial               保持部分文件传输--partial-dir=DIR       将一部分传输的文件放到DIR中--delay-updates         最后将所有更新的文件放置到位
-m, --prune-empty-dirs      从文件目录链中删除空目录--numeric-ids           不按用户名和映射uid/gid--usermap=STRING        自定义用户名映射--groupmap=STRING       自定义组名映射--chown=USER:GROUP      简单的用户名和组名映射--timeout=SECONDS       设置IO超时时间()--contimeout=SECONDS    设置连接超时时间()
-I, --ignore-times          不跳过匹配大小和时间的文件--size-only             跳过匹配大小的文件
-@, --modify-window=NUM     设置mod-time比较的准确性
-T, --temp-dir=DIR          创建临时文件在DIR目录中
-y, --fuzzy                 若目标文件不存在,查找与基准文件相似的文件--compare-dest=DIR      比较接收到与DIR中的文件--copy-dest=DIR         ... and include copies of unchanged files--link-dest=DIR         hardlink to files in DIR when unchanged
-z, --compress              传输的时候对文件进行压缩--compress-level=NUM    明确指定压缩级别--skip-compress=LIST    在列表中的文件跳过压缩
-C, --cvs-exclude           自动忽略cvs文件
-f, --filter=RULE           添加过滤规则RULE
-F--filter='dir-merge /.rsync-filter'repeated: --filter='- .rsync-filter'--exclude=PATTERN       根据PATTERN排除匹配的文件--exclude-from=FILE     将FILE中文件中的列表排除--include=PATTERN       根据PATTERN来同步文件--include-from=FILE     根据FILE中包含的文件同步--files-from=FILE       从FILE中读取源文件名字列表
-0, --from0                 all *from/filter files are delimited by 0s
-s, --protect-args          no space-splitting; wildcard chars only--address=ADDRESS       在daemon中将出站套接字绑定到地址--port=PORT             指定双冒号备用端口--sockopts=OPTIONS      自定义TCP选项--blocking-io           在远程Shell中使用阻塞式IO--outbuf=N|L|B          设置输出缓冲区为无、行或块--stats                 文件传输的统计数据
-h, --human-readable        以人易读的方式显示数值--progress              显示传输进度
-P--partial --progress
-i, --itemize-changes       输出所有的变更摘要
-M, --remote-option=OPTION  发送OPTION到变更端--out-format=FORMAT     使用FORMAT输出更新--log-file=FILE         将所有同步的信息以日志的形式记录到FILE中--log-file-format=FMT   使用FMT输出日志--password-file=FILE    读取文件中的密码--list-only             显示文件列表而不传递他们--bwlimit=RATE          设置IO带宽--write-batch=FILE      将批量更新写入FILE--only-write-batch=FILE 同 --write-batch but w/o 更新目标--read-batch=FILE       从FILE读取批量更新--protocol=NUM          强制使用旧的协议--iconv=CONVERT_SPEC    请求文件名的字符集转换--checksum-seed=NUM     设置块/文件校验和
-4, --ipv4                  使用 IPv4
-6, --ipv6                  使用 IPv6
--version               打印版本信息
(-h) --help                  查看帮助
实例
常用选项:
-r(recusive)递归拷贝数据,不保留文件属性
# 针对单个文件
rsync -r /root/test01.txt /tmp
# 针对多个文件
rsync -r /root/test01.txt /root/test02.txt /tmp
-a递归拷贝数据,保留文件属性
# 针对单个文件
rsync -a /root/test/test01.txt /tmp
# 针对目录下的所有文件
rsync -a /root/test/ /tmp
--delete进行数据同步时,会删除目标目录中源目录不存在的文件,保持两别强一制性
rsync -av --delete /root/test/ /tmp
--exclude进行数据同步时,排除某些文件或目录
# 利用多个 --exclude 参数
rsync -av --exclude=".*" --exclude="/root/test/*" /root/ /tmp
# 利用 Bash 的大扩号的扩展功能
rsync -av --exclude={".*","/root/test/*"} /root/ /tmp
--include指定必须同步的文件模式,一般与--exclude结合使用
# 指定同步时,排除所有文件,但是不包括以 .txt 结尾的文件
rsync -av --include="*.txt" --exclude='*' /root/ /tmp
#同步数据至远程服务器
rsync -avz /root/test/ root@10.0.0.51:/test/
#将远程内容同步到本地
rsync -avz root@10.0.0.51:/test/ /root/test/

Inotify

监控文件系统的变动情况,并做出通知响应

inotifywait: #用于持续监控,实时输出结果
inotifywatch: #用于短期监控,任务完成后再输出结果
# 常见参数 说明
-m 持续进行监控
-r 递归监控所有子对象
-q 简化输出信息
-e 指定要监控哪些事件类型
inotify+rsync持续更新中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143368.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

4k、VR与万兆光网

“全光万兆”对VR意义重大。 pico4的分辨率 PICO 4 的单眼分辨率是 2160 2160,整体分辨率高达 4320 2160。这是一款高性能的 VR 一体机,采用了 2.56 英寸的 Fast-LCD 屏幕,最高可实现 90Hz 刷新率,还有 1200 PPI 和 20.6 PPD 的…

线性约束最小方差准则(LCMV)波束形成算法仿真

常规波束形成仅能使得主波束对准目标方向,从而在噪声环境下检测到目标,但无法对复杂多变的干扰做出响应,所以不能称之为真正意义上的自适应滤波。自适应阵列处理指的是采用自适应算法对空间阵列接收的混合信号进行处理,又可称为自…

Android---打开相机拍照

简单实现打开系统系统相机拍一张图片并显示在UI上&#xff0c;适用与个人主页头像的切换。 1. 添加权限。AndroidManifest.xml里添加使用相机的权限。 <uses-permission android:name"android.permission.CAMERA"/> 2. 布局。布局内容比较交单&#xff0c;一…

[Java | Web] JavaWeb——JSON与AJAX简介

目录 一、JSON 简介 1、什么是 JSON 2、JSON 的定义和访问 3、JSON 在 JS 中两种常用的转换方法 4、JSON 在 Java 中的使用 5、匿名内部类 二、AJAX 简介 1、什么是 AJAX 2、原生 JS 的 AJAX 请求示例 3、JQuery 中的 AJAX 请求 一、JSON 简介 1、什么是 JSON JSON…

解决SpringBoot3整合Druid的兼容性问题

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 背景概述 截止目前&#xff0c;Druid对于SpringBoot3的支持不够全面和友好&#xff1b;存在一些兼容性的问题&#xff0c;导致项目报错。 解决方案 在此&#xff0c;针对…

使用低代码实现一个表单页面 ------ XinBuilder

平台介绍 如果你不是一个前端开发&#xff0c;但是想要实现出一个前端页面。 那么就可以通过低代码的方式&#xff0c;拖拽和配置出你想要的页面。 而XinBuilder就是简单的一套低代码平台&#xff0c;你可以在上面拖拽出自己想要使用的组件并进行配置。使用方式也很简单。 这…

影刀自动化采集底层逻辑

hello,大家好&#xff0c;这里是【玩数据的诡途】 接上回 <我的影刀故事> 今天给大家介绍一下整个采集的底层逻辑&#xff0c;包括业务流程自动化也是基于这一套基础逻辑进行展开的&#xff0c;顺便带大家熟悉一下影刀&#xff0c;既然叫影刀系列了&#xff0c;那后续一些…

【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码

1 mpl_toolkits.mplot3d 功能介绍 mpl_toolkits.mplot3d 是 Matplotlib 库中的一个子模块&#xff0c;用于绘制和可视化三维图形&#xff0c;包括三维散点图、曲面图、线图等。它提供了丰富的功能来创建和定制三维图形。以下是 mpl_toolkits.mplot3d 的主要功能和功能简介&am…

服务断路器_Resilience4j信号量隔离实现

POM引入依赖 <dependency><groupId>io.github.resilience4j</groupId><artifactId>resilience4j-bulkhead</artifactId><version>1.7.0</version> </dependency>信号量隔离修改YML文件 resilience4j:#信号量隔离bulkhead:ins…

支撑电动汽车规模化,特来电智能化升级群充产品

9月26日&#xff0c;中国领先的充电网生态运营商特来电重磅发布智能群充4.0产品&#xff0c;标志着特来电群充产品体系进一步升级&#xff0c;充电行业迎来更高质量、更高性能的设备与系统&#xff0c;充电网基础设施将更好地支撑大规模电动汽车的发展。 群充技术路线引领充电…

Element UI搭建首页导航和左侧菜单以及Mock.js和(组件通信)总线的运用

目录 前言 一、Mock.js简介及使用 1.Mock.js简介 1.1.什么是Mock.js 1.2.Mock.js的两大特性 1.3.Mock.js使用的优势 1.4.Mock.js的基本用法 1.5.Mock.js与前端框架的集成 2.Mock.js的使用 2.1安装Mock.js 2.2.引入mockjs 2.3.mockjs使用 2.3.1.定义测试数据文件 2…

程序员不得不知道的排序算法-上

目录 前言 1.冒泡排序 2.选择排序 3.插入排序 4.希尔排序 5.快速排序 6.归并排序 总结 前言 今天给大家讲一下常用的排序算法 1.冒泡排序 冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单的排序算法&#xff0c;它重复地从待排序的元素中比较相邻的两个元素&a…

Java中的IO流的缓冲流

不爱生姜不吃醋⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始&#xff0c;不如现在行动&#xff01; 文章目录 &#x1f334;IO流体系结构&#x1f334;缓冲流1.提高效率的原理2.缓冲流的类型3.字符缓冲流两个特有方法 &#x1f334;总结 &#x1f334;IO流体系…

硬件系统工程师宝典(42)-----耦合电容如何布局?

各位同学大家好&#xff0c;欢迎继续做客电子工程学习圈&#xff0c;今天我们继续来讲这本书&#xff0c;硬件系统工程师宝典。 上篇我们说到了对时序有要求的系统中如何正确使用蛇形走线&#xff0c;可以增加信号的延时&#xff0c;符合系统的时序要求。今天来说说电容去耦的…

三、VXLAN静态方式实验举例

VXLAN静态方式实验举例 1.1、静态方式部署集中式网关1.1.1、VXLAN隧道建立1.1.2、MAC地址动态学习1.1.3、同子网已知单播报文转发1.1.4、同子网BUM报文转发1.1.5、跨子网报文转发1.1.6、配置VXLAN接入业务部署方式 1.2、配置举例&#xff0c;相同网段互通&#xff08;静态方式&…

(数组/字符串) 380. O(1) 时间插入、删除和获取随机元素 ——【Leetcode每日一题】

❓ 380. O(1) 时间插入、删除和获取随机元素 难度&#xff1a;中等 实现 RandomizedSet 类&#xff1a; RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时&#xff0c;向集合中插入该项&#xff0c;并返回 true &#xff1b;否则&#x…

【Maven入门篇】(1)详细讲解Maven的安装报错解决

&#x1f38a;专栏【Maven入门篇】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【The truth that you leave】 &#x1f970;欢迎并且感谢大家指出我的问题 文章目录 &#x1f33a;Maven介绍⭐作用⭐官网 &#x1f384;maven安…

【C语言】文件操作(一)

前言 本篇博客讲解对文件的操作&#xff0c;包括打开&#xff0c;关闭操作。在下篇博客将讲解文件的读写。 文章目录 一、 什么是文件&#xff1f;1.1 用于存储数据1.2 文件类型1.3 文件名1.4 二进制文件和文本文件 二、文件的打开和关闭2.1 流和标准流2.2 文件指针2.3文件的打…

asp.net core automapper的使用

1.安装automapper的nuget包 AutoMapper.Extensions.Microsoft.DependencyInjection 2.创建需要映射的类和转换后的类 public class studto{public int sn { get; set; }public string name { get; set; }public string sex { get; set; }public int age { get; set; }public s…

前端的多种克隆方式和注意事项

克隆的意义和常见场景: 意义: 保证原数据的完整性和独立性常见场景: 复制数据, 函数入参, class构造函数等 浅克隆: 对象常用的浅克隆 es6扩展运算符...Object.assign 数组常用的浅克隆 es6的扩展运算符...slice>arr.slice(0)[].concat 深度克隆: 克隆对象的每个层级如…