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.mzph.cn/news/633585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018年认证杯SPSSPRO杯数学建模D题(第二阶段)投篮的最佳出手点全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 D题 投篮的最佳出手点 原题再现: 影响投篮命中率的因素不仅仅有出手角度、球感、出手速度,还有出手点的选择。规范的投篮动作包含两膝微屈、重心落在两脚掌上、下肢蹬地发力、身体随之向前上方伸展、同时抬肘向投篮方向…

【Flink-1.17-教程】-【三】Flink 运行架构、Flink 核心概念【并行度、算子链、任务槽】、Flink 作业提交流程

【Flink-1.17-教程】-【三】Flink 运行架构、Flink 核心概念【并行度、算子链、任务槽】、Flink 作业提交流程 1)系统架构1.1.系统成员组成1.2.作业提交流程 2)核心概念2.1. 并行度(Parallelism)2.1.1.并行子任务和并行度2.1.2.并…

pyDAL一个python的ORM(终) pyDAL的一些性能优化

一、大批量插入数据 对于 大量数据插入时,虽然pyDAL也手册中有个方法:bulk_insert(),但是手册也说了,虽然方法上是一次可以多条数据,如果后端数据库是关系型数据库,他转换为SQL时它是一条一条的插入的&…

【Linux修行路】基本指令

目录 推荐 前言 1、重新认识操作系统 1.1 操作系统是什么? 1.2操作系统的作用 1.3 我们在计算机上的所有操作 1.4 Linux操作的特点 2、Linux基本指令 2.1 ls 指令 2.2 pwd 命令 2.3 cd 指令 2.3.1 Linux中的目录结构 2.3.2 绝对路径和相对路径 2.3.3 cd 指令 …

2024年科学教育与人文艺术发展国际会议(ICSEHAD 2024)

2024年科学教育与人文艺术发展国际会议(ICSEHAD 2024) 2024 International Conference on Science Education and Humanities and Arts Development(ICSEHAD 2024) 数据库:EI,CPCI,CNKI,Google Scholar等检索 一、【会议简介】 2024年科学教育与人文艺术发展国际会议…

VS支持cuda源码高亮

工具-选项-文本编辑器,添加.cu和.cuh

机器学习之蚁群算法

概念 机器学习中的蚁群算法是一种启发式算法,灵感来源于蚁群在寻找食物时的行为。这种算法模拟了蚂蚁群体的集体智慧,通过多个个体之间的相互合作来解决问题。蚁群算法通常用于解决优化问题,例如路径规划、任务分配和调度等。 基本思想是通过模拟蚂蚁在搜索过程中释放的信…

Onenote是什么?笔记软件Onenote使用指南:简介|功能|下载|替代软件

OneNote是什么? OneNote是微软公司开发的一款强大的笔记软件,它允许用户在各种设备上创建、组织和搜索笔记。OneNote以其灵活的布局和强大的编辑功能而闻名,它可以帮助个人和团队记录信息、规划项目、协作和分享知识。 *笔记软件OneNote On…

Linux性能监控命令-ps

ps 命令是最常用的监控进程的命令,通过此命令可以查看系统中所有运行进程的详细信息 参数: a:显示一个终端的所有进程,除会话引线外; u:显示当前用户进程及内存的使用情况; x:显示…

Python项目——久坐提醒定时器(PySide6)编写

1、介绍 使用Python编写一个久坐提醒软件。功能: 设置工作时间。设置休息时间。选择休息时是否播放音乐。休息时,软件置顶,且不能关闭。 2、工具 语言:python3.11UI设计工具:Qt designer编译器:PyCharm包…

老子云支持70+格式模型转FBX/OBJ/STL/STP,一键处理无损转换!

老子云3D可视化平台是一个集合了3D编辑器、单模型轻量化、倾斜摄影轻量化、格式转换等一站式3D开发功能的强大技术平台。无论您是设计师、工程师还是科研人员,都可以在这个平台上轻松实现您的创意和想法。 老子云3D可视化平台是一个集合了3D编辑器、单模型轻量化、…

CAN数据记录仪解决汽车电子与工程机械冬测难点

CAN数据记录仪在汽车电子与工程机械冬测中扮演着重要的角色。在寒冷的冬季,汽车可能会因为环境温度过低而出现各种问题,例如电池电量不足、发动机启动困难等。为了确保汽车在冬季的正常运行,需要对汽车进行电子冬测。 CAN数据记录仪在冬测中发…

从临床预测模型到临床实践的三个问题探讨

从临床预测模型到临床实践的三个问题探讨 摘要: 本文就临床预测模型进入到临床实践过程中会遇到的三个问题,如何构建预测模型应用,如何确定决策阈值和如何符合伦理要求,进行了举例说明。希望通过这三个问题的探讨而使预测模型能够…

基于网络爬虫的天气数据分析

二、网络爬虫设计 网络爬虫原理 网络爬虫是一种自动化程序,用于从互联网上获取数据。其工作原理可以分为以下几个步骤: 定义起始点:网络爬虫首先需要定义一个或多个起始点(URL),从这些起始点开始抓取数据…

文本按照标点符号切分符号丢掉问题

问题:文本按照标点符号切分符号丢掉问题 项目场景:需要对一个文字段落按照标点符号切分成一个个句子,使用正则切分的过程中发现标点符号丢了, 问题描述 文本按照标点符号切分符号丢掉问题 原始代码: public static v…

LangChain输出解析器

大型语言模型(或 LLM)生成文本,当你构建应用程序时,有时需要使用结构化数据而不是字符串。 LangChain 提供了输出解析器,可以帮助我们做到这一点。 我们将回顾 LangChain 提供的 Pydantic (JSON) 解析器。 NSDT工具推…

git merge 和 git pull的区别是什么

git merge 和 git pull 都是 Git 中用于合并代码的命令,但它们的使用场景和功能略有不同。 git merge 是用于合并一个或多个分支的命令。你可以将其他分支的代码合并到当前分支中。通常用于合并开发分支或修复分支到主分支上。 具体步骤: 首先&#xff0…

常用的Qt开源库分享

1. Qwt (https://qwt.sf.net): Qwt是一个基于Qt的数据可视化库,提供了绘制曲线、图表、仪表盘等功能。 2. QJson (https://qjson.sourceforge.net): QJson是一个用于JSON数据解析和生成的库,使Qt应用程序能够方便地处理JSON格式的数据。 3. QCustomP…

超过GPT3.5?Mixtral 8*7B 模型结构分析

Datawhale干货 作者:宋志学,Datawhale成员 前言 2023年12月11日,Mistral AI团队发布了一款高质量的稀疏专家混合模型Mixtral 8x7B。 Mistral AI继续致力于向开发者社区提供最优秀的开放模型。在人工智能领域向前发展,需要采取超越…

kali下-MSF-ftp_login模块破解FTP账号及密码

一、环境准备 两台设备在同一个网络内 一台kali系统:192.168.10.128 一台winserver2016:192.168.10.132 二、MSF介绍 metasploit 全称是The Metasploit Framework,又称MSF,是Kali 内置的一款渗透测试框架,也是全球…