概述:

    生产环境中,利用SSH管理远程Linux服务器时,经常需要与本地交互文件。当然,我们可以利用FTP方式,比如通过Filezilla客户端软件。不过直接使用SSH软件(SecureCRT、Xshell)自带的上传和下载功能无疑使最方便快捷的。通常SSH软件支持的文件传输协议主要有ASCII、Xmodem、Zmodem等。rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具。


使用前提:

    1、首先,你的Linux端(CentOS, Ubuntu)需要安装rz/sz命令,也就是 lszrz 包。

    2、其次,windows端需要支持ZModem的telnet/ssh客户端(Xshell,SecureCRT支持,好像putty不支持SecureCRT 就可以用SecureCRT登陆到Unix/Linux主机(telnet或ssh均可)

    3、运行命令rz,即是接收文件,xshell就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到linux里的当前目录。如果要上传文件,直接用鼠标点住文件往X-shell里面一拖即是

    4、运行命令 sz file 就是发文件到windows上(保存的目录是可以配置) 比ftp命令方便多了,而且服务器不用再开FTP服务了


文件传输协议:

    文件传输是数据交换的主要形式。在进行文件传输时,为使文件能被正确识别和传送,我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等内容。常见的传输协议有以下几种:

  • ASCII:这是最快的传输协议,但只能传送文本文件。 

  • Xmodem:这种古老的传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%。 

  • Ymodem:这是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快

  • Zmodem:Zmodem采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议。


安装lrzsz:

    单是SSH客户端软件支持以上文件传输协议(ASCII,Xmodem,Ymodem,Zmodem)还不行,我们的Linux服务器上也得安装相应的软件,以支持这些文件传输协议才行。在Linux上,lrzsz就是完成此任务的,lrzsz就是一个支持 Zmodem 传输协议的工具。我们通过sz/rz两个命令,分别发送/接收文件。如果我们的系统中没有安装lrzsz这个包,就会报错,安装即可解决。

yum -y install lrzsz

命令解释:

        sz:下载,从服务端下载到本地客户端

        rz:上传,从客户端本地上传到服务端

        提示:sz和rz命令都是在服务端执行,上传和下载的动作都是在服务端执行完成的。


下载命令演示:

sz filename            下载单个文件
sz filename1 filename2    下载多个文件
sz etc/*        下载etc下的所有文件但不包含该目录中的文件夹

上传命令演示:

rz    直接执行rz命令会弹出对话框选择上传文件
rz -y 覆盖上传
      或直接将需要上传的文件拖入xshell或secureCRT中


xshell调整为例:

SSH上传下载“sz”与“rz”命令_SSH上传下载“sz”与“rz”命令


下载:

SSH上传下载“sz”与“rz”命令_SSH上传下载“sz”与“rz”命令_02


上传:

SSH上传下载“sz”与“rz”命令_SSH上传下载“sz”与“rz”命令_03


文章原始出处:51CTO博客

作者:skypeGUN1的BLOG

http://skypegnu1.blog.51cto.com/8991766/1538371