Linux文件同步

Linux文件同步

  • scp
    • 简介
    • 基本用法
  • rsync
    • 简介
    • 基本用法
  • tftp
    • 简介
    • 基本用法
  • 其他命令
    • ftp
    • sftp
    • lftp

此博客将主要介绍Linux文件同步常用的两种命令:scp(secure copy)、rsync(remote synchronization)和tftp(Trivial File Transfer Protocol)。它们是用于Linux系统之间进行文件同步的命令行工具。scp和rsync都可以通过SSH协议安全地传输文件,但是它们的功能和工作方式有所不同,tftp使用UDP协议进行数据传输,由于较为简单需要在受信任的的网络中使用。此外也会介绍一些不较常用的一些命令,例如ftp、sftp和lftp。
在这里插入图片描述

scp

简介

scp 是基于SSH协议的一个安全的文件复制命令,它用于在本地主机和远程主机之间复制文件和目录。scp可以将文件从本地复制到远程服务器,也可以从远程服务器复制到本地。scp的特点是使用简单,但是不支持增量备份,也就是说每次同步都会复制所有选定的文件,即使这些文件自上次同步后没有发生变化。但缺点是可能会导致不必要的数据传输,从而增加网络负担和同步时间。

基本用法

从本地复制文件到远程:

scp /path/to/local/file username@remotehost:/path/to/remote/directory

从远程复制文件到本地:

scp username@remotehost:/path/to/remote/file /path/to/local/directory

从本地复制目录到远程:

scp -r /path/to/local/directory user@remotehost.com:/path/to/remote/directory

从远程复制目录到本地:

scp -r username@remotehost:/path/to/remote/directory /path/to/local/directory

使用-P指定非默认端口:

scp -P 2222 /path/to/local/file user@remotehost.com:/path/to/remote/directory

rsync

简介

rsync 是一个更为强大的文件同步工具,它不仅可以通过SSH传输数据,还可以通过rsync守护进程传输。rsync 最大的特点是它支持增量备份,也就是说只有变更过的文件或文件的变更部分会被同步。这样可以大大减少数据传输量,提高效率。此外,rsync 还提供了许多高级选项,比如压缩传输时的数据、保留文件权限和时间戳、排除某些文件等。

基本用法

从本地同步到远程,其中,-a 是归档模式,表示保持所有文件属性并递归复制(适用于目录同步),-v 表示详细模式,-z 表示压缩数据进行传输:

rsync -avz /path/to/local/directory username@remotehost:/path/to/remote/directory

从远程同步到本地,其中,-a 是归档模式,表示保持所有文件属性并递归复制(适用于目录同步),-v 表示详细模式,-z 表示压缩数据进行传输:

rsync -avz username@remotehost:/path/to/remote/directory /path/to/local/directory

仅同步文件结构(不传输文件内容,使用 -n 或 --dry-run 进行模拟):

rsync -avn /path/to/source/ /path/to/destination/

删除目标路径中存在但源路径中不存在的文件(使用 --delete):

rsync -avz --delete /path/to/source/dir/ user@remotehost.com:/path/to/destination/dir/

排除特定文件或目录(使用 --exclude):

rsync -avz --exclude 'pattern_to_exclude' /path/to/source/dir/ /path/to/destination/dir/

使用非默认SSH端口(使用 -e 指定 SSH 命令):

rsync -avz -e 'ssh -p 2222' /path/to/local/dir/ user@remotehost.com:/path/to/remote/dir/

rsync 还有很多其他选项,可以调整复制过程中的行为和性能,比如 --compress(压缩数据)、–progress(显示进度)、–bwlimit(限制带宽)和 --backup(创建备份)等等。

总的来说,scp 适合低频率的小规模文件传输,而rsync 由于其增量备份的特性,更适合定期的大规模文件同步和备份任务。

tftp

简介

tftp(Trivial File Transfer Protocol)是一个简单的文件传输协议,它在设计上比标准的FTP(File Transfer Protocol)要简单得多。TFTP使用UDP协议进行数据传输,而不是FTP使用的TCP协议。因为它没有提供任何身份验证或加密功能,所以通常只在一个受信任的网络(比如局域网)内使用。

TFTP经常在需要低开销的文件传输任务中使用,比如在无盘工作站或网络设备(如路由器或交换机)中传输引导文件和配置文件。它也用于一些嵌入式系统和自动化环境中,以及在PXE(Preboot eXecution Environment)启动过程中加载操作系统映像。

tftp 命令允许用户通过TFTP客户端与服务器交互,以上传或下载文件。在大多数Linux发行版上,tftp 客户端并不总是默认安装的,可能需要通过包管理器(如 apt, yum, dnf 等)安装。

安装 tftp 客户端的命令示例(以Ubuntu为例):

sudo apt update
sudo apt install tftp

基本用法

使用以下命令进入TFTP交互式模式:

tftp [hostname]

[hostname] 是你想要连接的TFTP服务器的主机名或IP地址。进入交互式模式后,你可以使用一系列命令来操作文件,比如
获取文件(get):

tftp> get filename

上传文件(put):

tftp> put filename

退出tftp交互式模式(quit):

tftp> quit

由于TFTP协议的简单性和不安全性(无加密,无认证),它不适合在公开或不安全的网络环境中传输敏感数据。TFTP主要用于某些特定场景,例如网络设备的引导和配置,或者其他需要小型、非安全文件传输的场合。如果需要安全的文件传输,应该使用支持加密和认证的协议,如SFTP或SCP。

其他命令

ftp

ftp(File Transfer Protocol),这是一个较旧的、不安全的文件传输协议,因为它在传输数据时不提供加密。尽管还在使用,但不推荐在安全性要求较高的环境中使用。

sftp

sftp(Secure File Transfer Protocol),类似于 scp,它是一个在本地和远程系统之间交互式传输文件的工具。它也是基于 SSH 协议,提供了一个类似于 FTP 的接口,但是所有传输的数据都是加密的。

lftp

lftp 是一个功能非常强大的命令行文件传输客户端,支持 FTP、FTP over HTTP、SFTP、Fish、DFS 和 HTTP 协议,具有镜像下载、断点续传和其他高级特性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

k8s源码阅读:Informer源码解析

写在之前 Kubernetes的Informer机制是一种用于监控资源对象变化的机制。它提供了一种简化开发者编写控制器的方式,允许控制器能够及时感知并响应 Kubernetes 集群中资源对象的变化。Informer通过与Kubernetes API服务器进行交互,通过监听API服务器上资源…

计算机毕业设计 | SpringBoot宠物店管理系统(附源码)

1,绪论 项目背景 我国已经成为世界第二大经济体,经济实力高速发展以及百姓生活水平的普遍提高,不断地要求企业提供更加多元化的娱乐方式,更加快速和方便的服务,因此对宠物行业也提出了更加严格的要求,如管…

layabox_2d游戏A*寻路实践

使用工具 Red Blob Games 效果 项目地址 LayaAStar2D: Laya2.0引擎2D游戏使用AStar实践。

C++设计模式-- 2.代理模式 和 外观模式

文章目录 代理模式外观模式角色和职责代码演示一:代码演示二:外观模式适用场景 代理模式 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合 或不能直接引用另一个对象,而代…

<蓝桥杯软件赛>零基础备赛20周--第13周--DFS剪枝

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周。 在QQ群上答疑&#x…

docker安装nacos+mysql+配置网络

一、配置网络 为什么要配置网络?因为 Nacos 内要连接MySQL数据库的,我的 MySQL 数据库也是用 Docker启动的,所以2个容器间要通信是需要配置他们使用相同的网络。这个操作要在启动Nacos容器之前。 注意:这里配置的网络只在镜像内部…

zabbix6.4设置网络设备端口流量P95

P95概念: p95函数写法: 需要监控P95的设备如下: 先找到原来的端口接收发送速率的监控项: 可以看到他们归属于自动发现规则:端口表UP 找到自动发现规则: 点击创建监控项原型: 公式如下&#xff…

基于LLM大模型的信息提取指南

信息提取(information Extraction)是从文本或文档集合中自动检索与特定主题相关的特定信息的过程。 这通常涉及自然语言处理技术的使用。 使用自然语言处理来提取信息通常会导致构建复杂的逻辑,这些逻辑有时非常具体并且不能很好地概括。 好…

Linux例行性工作 at和crontab命令

1,例行性工作 例行性工作 —— 在某一时刻,必须要做的事情 —— 定时任务 (比如:闹钟) 例行性工作分为两种:“单一的例行性工作 at”和“循环的例行性工作 crontab” 2,单一执行的例行性工作 …

C 程序运行机制

1.编辑 编写C语言源程序代码,源程序文件以“.c”作为扩展名。 2.编译 将C语言源程序转换为目标程序(或目标文件)。如果程序没有错误,没有任何提示,就会生成一个扩展名为“.obj”的二进制文件。C语言中的每条可执行语句经过编译后最终都将被…

Go语言中的HTTP请求发送

在Go语言中,发送HTTP请求是一种常见的网络操作。Go语言的net/http包提供了强大的API,使开发者能够轻松地构建HTTP请求并处理响应。 下面我们将详细介绍如何使用Go语言发送HTTP请求,包括设置请求参数、处理响应状态码和头部信息、发送JSON数据…

中湖盐——健康盐,盐中贵族

祁连山古老的盐湖,有一个水晶女和玉莹郎的传说,他们来到凡间做盐为生,做出的盐像水晶玉莹一样纯净。直到有一天,始皇帝传旨修长城,玉莹和水晶不忍百姓疾苦,用相思之泪化为了水晶般的白盐;血肉精华冶炼成萤石般的盐根,造福一方。 雪水溶积汇入的盐湖,水天倒映,美不胜收,中湖盐坚…

Zero-Shot Learning—A Comprehensive Evaluation of the Good, the Bad and the Ugly

目录 背景知识why zero-shot learning?广义零样本学习设置 1 INTRODUCTION1.1 zero-shot learning——methods1.2 zero-shot learning——datasets1.3 zero-shot learning——evaluation protocol 2 RELATED WORK2.1 早期工作2.1.1 Attribute-based classification for zero-s…

STC8H8K蓝牙智能巡线小车——3.按键开关状态获取

电路分析 引脚为P37开关未按下时,P37是高电平开关按下时,GND导通,P37是低电平 编程思路 Driver目录中添加KEY.h文件,应包含引脚定义、开关GPIO实例化函数、开关状态获取函数以及当按下和未按下时执行不同的函数(函数…

多级缓存架构(三)OpenResty Lua缓存

文章目录 一、nginx服务二、OpenResty服务1. 服务块定义2. 配置修改3. Lua程序编写4. 总结 三、运行四、测试五、高可用集群1. openresty2. tomcat 通过本文章,可以完成多级缓存架构中的Lua缓存。 一、nginx服务 在docker/docker-compose.yml中添加nginx服务块。…

全光谱护眼灯有哪些?寒假护眼台灯推荐

全光谱指的是包含了整个可见光谱范围以及部分红外和紫外光的光线。通常的白炽灯或荧光灯只能发出有限范围内的光波,而全光谱台灯通过使用多种类型的LED灯或荧光灯管来产生更广泛的光谱。这样的光谱更接近自然光,能够提供更真实的颜色还原和更好的照明效果…

Spring Cloud微服务基础入门

文章目录 发现宝藏前言环境准备创建第一个微服务1. 创建Spring Boot项目2. 创建微服务模块3. 编写微服务代码4. 创建一个简单的REST控制器 运行微服务 总结好书推荐 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不…

懒得玩游戏--帮我做数独

目录 简介自动解数独思路核心思路输入解析打印 完整代码 简介 最近玩上了一款类似于数独的微信小程序游戏,名字叫数独趣味闯关,过了数独的关卡之后会给拼图,玩了几关之后摸清套路了就有点累了,但是还想集齐拼图,所以就…

为什么使用 atan2(sin(z), cos(z)) 进行角度归一化?

文章目录 为什么使用 atan2(sin(z), cos(z)) 进行归一化?为什么归一化后的角度等于原始角度? atan2 方法返回 -π 到 π 之间的值,代表点 (x, y) 相对于正X轴的偏移角度。这个角度是逆时针测量的,以弧度为单位。关于 atan2 函数为…

【第十四课】并查集(acwing-836合并集合 / 做题思路 /c++代码)

目录 错误思路(但能骗分emm)--邻接矩阵(可以跳过) 思路 存在的问题 代码如下 并查集 思路 代码如下 一些解释 错误思路(但能骗分emm)--邻接矩阵(可以跳过) 思路 刚看到这道题我自己做的时候,因为之前学的trie树的时候意识到使用二维数组的含义,…