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

Linux中rz命令使用实例分享(批量上传文件、简单易用)

程序员文章站 2024-01-12 13:56:40
rz命令可以批量上传文件,当然也可上传单个文件啦。使用的协议是古老的ZMODEM协议,虽然协议古老,但毫不影响的简单易用的特性... 14-08-30...

rz命令可以批量上传文件,当然也可上传单个文件啦。使用的协议是古老的zmodem协议,虽然协议古老,但毫不影响的简单易用的特性。一般情 况我们要上传文件到linux系统,要么使用ftp(还得架设ftp服务端),要么使用sftp,上传一个文件要敲不少命令。而这里介绍的rz命令,只需 要简单的在命令行上敲一下 rz -be 命令,在securecrt下就会弹出文件选择框让你选择需要上传的文件了,而且可以选择多个;不过,如果是用putty,那就无能为力了。

  下面简单说下zmodem协议的事情,先得从xmodem协议(xmodem   protocol)说起。xmodem协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数 据,并且每个块都使用一个校验和过程来进行错误检测。如果接收方关于一个块的校验和与它在发送方的校验和相同时,接收方就向发送方发送一个认可字节。然 而,这种对每个块都进行认可的策略将导致低性能,特别是具有很长传播延迟的卫星连接的情况时,问题更加严重。

  使用循环冗余校验的与xmodem相应的一种协议称为xmodem-crc。还有一种是xmodem-1k,它以1024字节一块来传输数据。 ymodem也是一种xmodem的实现。它包括xmodem-1k的所有特征,另外在一次单一会话期间为发送一组文件,增加了批处理文件传输模式。

  zmodem是最有效的一个xmodem版本,它不需要对每个块都进行认可。事实上,它只是简单地要求对损坏的块进行重发。zmodem对按块 收费的分组交换网络是非常有用的。不需要认可回送分组在很大程度上减少了通信量。它是xmodem   文件传输协议的一种增强形式,不仅能传输更大的数据,而且错误率更小。包含一种名为检查点重启的特性,如果通信链接在数据传输过程中中断,能从断点处而不 是从开始处恢复传输。 

  从securecrt帮助主题中搜索zmodem,就会找到如下关于zmodem的说明:zmodem is a full-duplex file transfer protocol that supports fast data transfer rates and effective error detection. zmodem is very user friendly, allowing either the sending or receiving party to initiate a file transfer. zmodem supports multiple file ("batch") transfers, and allows the use of wildcards when specifying filenames. zmodem also supports resuming most prior zmodem file transfer attempts.
  与rz命令相对应的,sz命令可以实现从linux服务器下载文件到本地。

常用参数

-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.)

如果要保证上传的文件内容在服务器端保存之后与原始文件一致,最好同时设置这两个标志,如下所示方式使用:

rz -be

此命令执行时,会弹出文件选择对话框,选择好需要上传的文件之后,点确定,就可以开始上传的过程了。上传的速度取决于当时网络的状况。
如果执行完毕显示“0错误”,文件上传就成功了,其他显示则表示文件上传出现问题了。

有些版本的linux下,执行rz命令报“command not found”,可以到安装盘中找 lrzsz*.rpm 去安装。

使用示例

示例一 将本地的jdk安装程序上传到linux服务器


复制代码
代码如下:

[root@qzt196 setup]# rz -be
rz waiting to receive.
正在开始 zmodem 传输。 按 ctrl+c 取消。
正在传输 jdk-6u21-linux-i586-rpm.bin...
100% 77628 kb 137 kb/s 00:09:23 0 错误
[root@qzt196 setup]# ls -l jdk-6u21-linux-i586-rpm.bin
-rw-r--r-- 1 root root 79491215 06-25 07:06 jdk-6u21-linux-i586-rpm.bin
[root@qzt196 setup]#

示例二将本地的ant安装程序上传到linux服务器


复制代码
代码如下:

[root@qzt196 setup]# rz -be
rz waiting to receive.
正在开始 zmodem 传输。 按 ctrl+c 取消。
正在传输 apache-ant-1.8.1-bin.tar.gz...
100% 8071 kb 115 kb/s 00:01:10 0 错误
[root@qzt196 setup]#

示例三 选择文件时取消


复制代码
代码如下:

[root@qzt196 ~]# rz -be
rz waiting to receive.
正在开始 zmodem 传输。 按 ctrl+c 取消。
[root@qzt196 ~]#

示例四 上传文件过程中按ctrl+c终止


复制代码
代码如下:

[root@qzt196 ~]# rz -be
rz waiting to receive.
正在开始 zmodem 传输。 按 ctrl+c 取消。
正在传输 apache-tomcat-5.5.31.tar.gz...
1% 85 kb 10 kb/s 00:12:32 eta 0 错误
rz: apache-tomcat-5.5.31.tar.gz removed.
[root@qzt196 ~]#

示例五 一次上传多个文件


复制代码
代码如下:

[root@qzt196 ~]# rz -be
rz waiting to receive.
正在开始 zmodem 传输。 按 ctrl+c 取消。
正在传输 applink.c...
100% 2 kb 2 kb/s 00:00:01 0 错误
正在传输 arguments.cpp...
100% 2 kb 2 kb/s 00:00:01 0 错误
正在传输 buffer.cpp...
100% 825 bytes 825 bytes/s 00:00:01 0 错误
正在传输 build...
100% 1 kb 1 kb/s 00:00:01 0 错误
正在传输 bulk.cpp...
100% 2 kb 2 kb/s 00:00:01 0 错误