Linux-lrzsz命令及原理

2024-03-25 04:48
文章标签 linux 命令 原理 lrzsz

本文主要是介绍Linux-lrzsz命令及原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux lrzsz命令的使用和背后原理探究
当我们利用Xshell对Linux服务器进行操作时,常常苦恼本地和服务器之间互相传文件的问题,即使有如Winscp这样的工具,但是当在服务器上使用虚拟机的时候,配置FTP就显得比较麻烦了,因此有Lrzsz这样的工具能够帮助我们上传下载一些体量不是很大的文件。

安装LRZSZ

sudo apt-get install lrzsz

如果不是Ubuntu系统,可以

sudo yum install lrzsz

还可以通过手动安装的方式,先下载.tar.gz的压缩包

tar zxvf lrzsz-0.12.20.tar.gz 
cd lrzsz-0.12.20 
./configure 
make 
make install 
cd /usr/bin 
ln -s /usr/local/bin/lrz rz 
ln -s /usr/local/bin/lsz sz

使用LRZSZ

下载文件:

sz xxx

(xxx指要下载的文件),如果想要下载整个文件夹,可以先使用zip等压缩命令将整个文件夹压缩成文件再进行下载,通过对话框选择下载目的地
在这里插入图片描述

上传文件:

rz

这时候会弹出一个对话框,选择要上传的文件即可,若要保证上传的文件在服务端中保存和源文件一致,则可以使用二进制上传

rz -be

常用参数
  -b 以二进制方式,默认为文本方式。(Binary (tell it like it is) file transfer override.)
  -e 对所有控制字符转义。(Force sender to escape all control characters; normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.)

在这里插入图片描述

背后原理探究
通过一番百度谷歌,大致的了解了一下lrzsz背后的原理机制

引用https://blog.csdn.net/u013030100/article/details/80347965:
rz可以批量上传文件,也可以上传单个文件。使用的协议是ZMODEM协议。 (下面部分是从网上摘的)

ZMODEM 协议的介绍 :https://blog.csdn.net/ligerendaqiu123/article/details/44964791

下面简单说下ZModem协议的事情,先得从XMODEM协议(XMODEM Protocol)说起。XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数 据,并且每个块都使用一个校验和过程来进行错误检测。如果接收方关于一个块的校验和与它在发送方的校验和相同时,接收方就向发送方发送一个认可字节。然 而,这种对每个块都进行认可的策略将导致低性能,特别是具有很长传播延迟的卫星连接的情况时,问题更加严重。  
使用循环冗余校验的与XMODEM相应的一种协议称为XMODEM-CRC。还有一种是XMODEM-1K,它以1024字节一块来传输数据。 YMODEM也是一种XMODEM的实现。它包括XMODEM-1K的所有特征,另外在一次单一会话期间为发送一组文件,增加了批处理文件传输模式。  
ZMODEM是最有效的一个XMODEM版本,它不需要对每个块都进行认可。事实上,它只是简单地要求对损坏的块进行重发。ZMODEM对按块 收费的分组交换网络是非常有用的。不需要认可回送分组在很大程度上减少了通信量。它是Xmodem 文件传输协议的一种增强形式,不仅能传输更大的数据,而且错误率更小。包含一种名为检查点重启的特性,如果通信链接在数据传输过程中中断,能从断点处而不 是从开始处恢复传输。

在传小文件的时候大家可以选择lrzsz,操作十分方便,配合Xshell可以直接拖入。

这篇关于Linux-lrzsz命令及原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/843873

相关文章

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Golang HashMap实现原理解析

《GolangHashMap实现原理解析》HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作,:本文主要介绍GolangH... 目录HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效