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.并…

【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…

超过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 内置的一款渗透测试框架,也是全球…

Discuz论坛网站登录账号操作慢,必须强制刷新才会显示登录怎么办?

飞飞发现在登录服务器大本营账号时,输入账号密码登录后还是显示的登录框,强制刷新后才知道已经登录了,每次都要刷新才能正常显示,非常影响用户体验,于是在网上找了类似的问题故障解决方法,目前问题已经解决…

部署Sqli-labs靶场:一篇文章解析全过程

部署Sqli-labs靶场:一篇文章解析全过程 0x01 前言 Sqli-labs是一个在线的SQL注入练习平台,提供了一系列关卡供用户练习SQL注入的技巧和防范方法。在这个平台上,用户可以尝试注入攻击,并测试自己的技能和工具,同时也可…

linux java 8安装

tar -zxf jdk-8u***.tar.gz -C /usr/loacl/ vim /etc/profile i 输入 export JAVA_HOME/usr/local/安装文件名 export PATH${JAVA_HOME}/bin:$PATH ESC :wq 保存退出 source /etc/profile 验证 java -version

暴雨信息与英特尔联合发布全球首个全液冷冷板服务器参考设计

科技之家 1 月 19 日消息,据暴雨服务器官方消息,1 月 18 日,暴雨信息与英特尔联合发布全球首个全液冷冷板服务器参考设计,并面向业界开放,推动全液冷冷板解决方案在全球数据中心的大规模部署应用。 基于该参考设计&am…

Java进阶-Tomcat发布JavaWeb项目

对于云服务器,程序员一般不会陌生,如果项目需要发布到现网,那么服务器是必不可缺的一项硬性条件,那么如何在云服务器上部署一个项目,需要做哪些配置准备,下面就由本文档为大家讲解,本篇以Tomcat…