Linux命令之rz - 批量上传文件,简单易用(转载)

用途说明

  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命令能够实现从Linuxserver下载文件到本地。

经常使用參数

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

假设要保证上传的文件内容在server端保存之后与原始文件一致,最好同一时候设置这两个标志,例如以下所看到的方式使用:

rz -be

此命令运行时,会弹出文件选择对话框,选择好须要上传的文件之后,点确定,就能够開始上传的过程了。上传的速度取决于当时网络的状况。

假设运行完成显示“0错误”,文件上传就成功了,其它显示则表示文件上传出现故障了。

有些版本号的Linux下,运行rz命令报“command not found”,能够到安装盘中找 lrzsz*.rpm 去安装。

使用演示样例

演示样例一 将本地的jdk安装程序上传到Linuxserver

[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安装程序上传到Linuxserver

[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 错误

上一篇:apk反编译工具-apktool


下一篇:关于Extjs MVC模式上传文件的简单方式