Linux入门之常用命令(8)上传下载

【什么是rz/sz (lsz/lrz)】 

简单说就是,可以很方便地用这两个sz/rz工具,实现Linux下和Windows之间的文件传输(发送和接收),速度大概为10KB/s,适合中小文件。rz/sz 通过Zmodem协议传输数据

【为什么要用rz/sz】

一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地;

普通Linux和Windows之间的文件共享方法,主要有建立nfs实现文件共享,和tftp之类的方法,但是都很麻烦,而如果只是小文件(几十 K,几百K),那么直接用rz/sz,就显得极其地方便了。大文件的话,还是要考虑上面说得,其他的共享方法了,毕竟,rz/sz速度只有10K左右,传大文件会累死人的。。。

【如何使用】
与ssh有关的两个命令可以提供很方便的操作: 
sz:将选定的文件发送(send)到本地机器 
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)

rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具

windows端需要支持ZModem的telnet/ssh客户端(比如SecureCRT)

运行命令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服务了

当然,还可以设置一下目录了:

在SecureCRT设置一下上传和下载的默认目录 
options–>session options–>file transfer 下可以设置上传和下载的目录 
剩下的你只要在用SecureCRT登陆linux终端的时候: 
发送文件到客户端:sz filename 
zmodem接收可以自行启动. 
从客户端上传文件到linux服务端: 
只要服务端执行 : rz 
然后在 SecureCRT 里选文件发送,协议 zmodem

【安装】

rpm安装:

rpm ivh lrzsz-x.rpm(去光盘里找)

yum安装:

yum install lrzsz

【疑难解答】

某学生遇到rz,sz 上传下载的问题

rz正常,sz无法下载文件到本地。可学生还一头雾水,不知其所以然。
问题及解决过程:

[code]
[root@potatoes ~]# which sz
/usr/bin/sz
[root@potatoes ~]# ll /usr/bin/sz
lrwxrwxrwx 1 root root 24 Dec  6  2010 /usr/bin/sz -> /usr/local/lrzsz/bin/lrz
#===>这里明显看出,sz链接到sz -> /usr/local/lrzsz/bin/lrz 了。应该是 lsz
[root@potatoes ~]# rm -f /usr/bin/sz
[root@potatoes ~]# which sz
/usr/bin/which: no sz in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@potatoes ~]# ll
total 52
-rw------- 1 root root   994 Dec  6  2010 anaconda-ks.cfg
-rw-r--r-- 1 root root 26403 Dec  6  2010 install.log
-rw-r--r-- 1 root root  4369 Dec  6  2010 install.log.syslog
[root@potatoes ~]# ln -s /usr/local/lrzsz/bin/lsz /usr/bin/sz
#===>修改链接sz -> /usr/local/lrzsz/bin/lsz 
[root@potatoes ~]# /usr/local/lrzsz/bin/lsz install.log
rz
正在开始 zmodem 传输。 按 Ctrl+C 取消。
正在传输 install.log...
  100%      25 KB   25 KB/s 00:00:01       0 错误
[root@potatoes ~]#ll /usr/bin/sz
lrwxrwxrwx 1 root root 24 Jun 11 08:00 /usr/bin/sz -> /usr/local/lrzsz/bin/lsz
[root@potatoes ~]# ll
total 52
-rw------- 1 root root   994 Dec  6  2010 anaconda-ks.cfg
-rw-r--r-- 1 root root 26403 Dec  6  2010 install.log
-rw-r--r-- 1 root root  4369 Dec  6  2010 install.log.syslog
[root@potatoes ~]# sz install.log
rz
正在开始 zmodem 传输。 按 Ctrl+C 取消。
正在传输 install.log...
  100%      25 KB   25 KB/s 00:00:01       0 错误
OK了。

上一篇:解决ASP.NET 自定义报表部署到IIS浏览时出现ASP.NET会话已结束问题


下一篇:IDEA 使用 SVN的一个注意点