欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

linux中rz上传、sz下载命令详解

程序员文章站 2022-03-17 13:16:45
rz,sz是便是linux/unix同windows进行zmodem文件传输的命令行工具。 使用前提: 首先,你的linux端(centos, ubuntu)需要安装...

rz,sz是便是linux/unix同windows进行zmodem文件传输的命令行工具。

使用前提:

首先,你的linux端(centos, ubuntu)需要安装rz/sz命令,也就是 lszrz 包。

其次,windows端需要支持zmodem的telnet/ssh客户端(xshell,securecrt支持,好像putty不支持),securecrt就可以用securecrt登陆到unix/linux主机(telnet或ssh均可)

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

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

在linux上安装lrzsz

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

[root@localhost ~]# rz
-bash: rz: command not found
## for centos/rhel
[root@localhost ~]# yum -y install lrzsz
 
## for ubuntu
# sudo apt-get install lrzsz

理解记忆

  其中,对于sz和rz的理解与记忆我用了如下的方法(很多时候容易搞混):

sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载。

rz中的r意为received(接收),告诉客户端,我(服务器)要接收文件 received by cilent,就等同于客户端在上传。

使用示例

rz上传命令,如果已经存在文件了,那么默认不会执行上传,要-y覆盖才可以

[root@szxjdw01-a-pro-14 ~]# cd /data/backup/war/
[root@szxjdw01-a-pro-14 war]# ll
total 308888
-rw-r--r-- 1 root root 79681963 aug 4 14:59 test.tar.gz
[root@test war]# rz
rz waiting to receive.
starting zmodem transfer. press ctrl+c to cancel.
transferring jdwin-ucenter-rpc-service-assembly.tar.gz...
jdwin-ucenter-rpc-service-assembly.tar.gz was skipped
 
[root@test war]# rz -y
rz waiting to receive.
starting zmodem transfer. press ctrl+c to cancel.
transferring jdwin-ucenter-rpc-service-assembly.tar.gz...
 100%  77814 kb   855 kb/sec  00:01:31    0 errors 
 
[root@test war]# ll
total 308888
-rw-r--r-- 1 root root 79681952 aug 4 15:53 test.tar.gz

缺点

  使用lszrz非常方便,但是有一点不足之处: 无法传输大于 4g 的文件。
  那肿么办呢? 可以使用filezilla, securefx 这些ftp工具来替代了。