1、概述
一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地。
rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具,速度大概为10KB/s,适合中小文件。
优点:rz/sz比ftp命令方便,而且服务器不用打开FTP服务。
sz:服务器将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器,Linux服务器接收(receive)此文件
同时,要运行rz/sz,Windows端需要支持ZModem的telnet/ssh客户端(比如SecureCRT)。
普通Linux和Windows之间的文件共享方法,主要有建立nfs实现文件共享,和tftp之类的方法,但是都很麻烦,而如果只是小文件(几十 K,几百K),那么直接用rz/sz,就显得极其地方便了。大文件的话,还是要考虑上面说得其他的共享方法了,毕竟,rz/sz速度只有10K左右,传大文件会累死人的。。。
2、rzsz的安装
安装:
1)下载rzsz-3.48.tar.gzwget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz
2)解压:tar -zxvf rzsz-3.48.tar.gz
解完后会出现src目录
3)安装
cd src
make posix
4)添加指令
cp rz sz /usr/bin/
Trouble Shooting:
1)每次运行rz后,都会出现"UNREGISTERED COPY"提示,如何去除?**** UNREGISTERED COPY *****
Please read the License Agreement in rz.doc
解决方法:
修改Makefile第四行OFLAG= -O 为 OFLAG= -O -DREGISTERED
3. rz/sz的使用
运行命令rz,即是接收文件,SecureCRT就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到当前目录。
注意:
单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传是用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选。
-b binary 用binary的方式上传下载,不解释字符为ascii
-e 强制escape 所有控制字符,比如Ctrl+x,DEL等
运行命令sz file1 file2就是发文件到windows上(保存的目录是可以配置), 比ftp命令方便多了,而且服务器不用再开FTP服务了。
当然,还可以设置一下rz/sz的默认路径,如可在SecureCRT设置上传和下载的默认目录:
options–>session options–>file transfer 下可以设置上传和下载的目录。
设置完成之后,你只要在用SecureCRT登陆linux终端的时候:
1)发送文件到客户端:sz filename,ZModem接收可以自行启动。
2)从客户端上传文件到linux服务端,只要服务端执行 : rz,然后在 SecureCRT 里选文件发送,使用协议 ZModem。