版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明。

引言

最近一直是在用SecureCRT和MobaXterm对服务器进行维护,前者是因为工作需要,后者是个人喜好。我记得在去年我写过一篇用MobaXterm对阿里云服务器进行相关的部署,那篇博文里也谈及了我从xshell和mobaxterm中最终选择了后者,其实直到目前,我依然喜欢用MobaXterm,因为简单高效。本篇博文将列举我今天做的一个功能,对代码进行备份并上传到服务器,也可以说成是上传文件和下载文件,另外解读一下其意思

rz与sz命令

linux下通过rz、sz命令进行上传下载很方便,不需要其他的sftp、winscp等软件,而sz和rz命令的原理其实是来源于下面四个东西:1.XModem,YModem,ZModem,KERMIT,类似于一种演化过程。

它们都是文件传输协议,四者的比较如下:

  • XModem是一种发送等待(send-and-wait)协议, 具有流量控制功能。数据长度为128字节。

  • YModem是XModem的改进版。它可以传送多个文件,数据长度可达1K字节且支持16位CRC校验。

  • ZModem不但具有纠错功能,而且是一种流式协议。它不再以收方发ACK引导。

  • KERMIT类似于XModem,但它对XModem进行了改进,可以传输多个文件,错误检测方式明显改善。同时KERMIT还提供压缩功能。

zmodem是现在已经升级比较多版本比较新的协议。最早还有xmodem和ymodem协议,现在我们利用zmodem协议它的速度会快一点,所以我们主要考虑zmodem,另外SecureCRT已经帮我们集成好了zmodem,而MobaXterm对zmodem支持较差,或者说没有支持,下面我们会详细说明。

然后我们就可以安装着两条命令包,相应的命令为:

wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
./configure && make && make install
 
  • 1
  • 2
  • 3

上面安装过程默认把lsz和lrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用,下面创建软链接,并命名为rz/sz:

cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz
 
  • 1
  • 2
  • 3


然后我们就可以使用sz和rz命令了。

SecureCRT命令使用

因为SecureCRT集成好了zmodem协议,所以我们可以通过其直接设置我们默认的上传和下载文件路径,比如我这边使用的默认配置:

那么当我使用sz下载Linux服务器上的文件时,它就会下载到我Windows下的C:\Users\xuzhenggen\Downloads文件夹下:

上传同样,secureCRT会弹出一个文件框,那么只需要点击上传文件就OK了。

MobaXterm上下文件

mobaXterm备份文件和上传文件的方式和其它的有所不同,因为它本身不怎么支持zmodem协议,所以我们即使下载了sz、rz命令包,当我们在命令行中运行这两个命令时,就会出现很多bug,比如:

虽然同样显示了文件正在下载,但之后就会一直卡在这里不动了,甚至说ctrl+c强制退出也作用不大,然后我就重新连接该服务器了,不知道它到底有没有下载文件到某路径,这里因为我没有找到设置路径在哪,所以不清楚具体流程,那么就直接当它下载失败了。

很显然,MobaXterm在这里出现了缺点,那么就是对zmodem支持差,其它的我暂时没找到什么缺点了,但其实它自己本身就可以直接下载与上传文件,不需要通过zmodem协议,或者说FTP,因为它的左边即能显示连接服务器下所有的文件夹以及相应的目录,我们只需要点击右键,或者说拖动文件直接拉进行去就能完成文件的更新操作了。


同样能完成对文件的下载,操作直接Windows化了,另外上传拖拽,那么就不需要我说明了。所以,不得不说mobaxterm方便。

最新文章

  1. win32调试打印
  2. update select
  3. (转)每天一个Linux命令(4): mkdir
  4. CF Destroying Roads (最短路)
  5. 多线程程序设计学习(8)Thread-Per-Message
  6. 【Stage3D学习笔记续】真正的3D世界(三):纹理效果
  7. 标准I/O库之临时文件
  8. 解决VS2005 VS2008 vs2010断点无效-源代码与原始版本不同
  9. (3)选择元素——(15)总结(Summary)
  10. ItemCF_基于物品的协同过滤_MapReduceJava代码实现思路
  11. android截屏
  12. 在 Xshell 中 使用 hbase shell 进入后 无法删除 问题
  13. 前端学习之路-CSS介绍,Html介绍,JavaScript介绍
  14. SQL like 模糊查询, in
  15. poj 3207(2-SAT+SCC)
  16. (转)Java大数操作(BigInteger、BigDecimal)
  17. ES6展开运算符的3个用法
  18. MySQL与Oracle的区别之我见
  19. 原生js--应用程序存储和离线web应用
  20. mfc this指针

热门文章

  1. 蚂蚁SOFA系列(1) - 聊聊SOFA的模块化
  2. asp.net core 使用 signalR(一)
  3. php文件加密解密
  4. Python中使用pip安装库时提示:远程主机强迫关闭了一个现有的连接
  5. springMvc 注解@JsonFormat 日期格式化
  6. charles 客户端进程
  7. 44 (OC)* 野指针、空指针
  8. 配置hibernate访问mysql
  9. Kubernetes Dashboard 终结者:KubeSphere
  10. Linux之VMWare下Centos7的三种网络配置过程