Linux下使用sz/rz命令从服务器下载或上传文件
简介
Linux中rz命令和sz命令都可用于文件传输,而rz命令主要用于文件的上传,sz命令用于从Linux服务器下载文件到本地。
安装
yum安装
yum -y install lrzsz
源码安装
wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
./configure && make && make install
#上面安装过程默认把lsz和lrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用,下面创建软链接,并命名为rz/sz:
cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz
sz命令常用参数
-
-a 以文本方式传输(ascii)。
-
-b 以二进制方式传输(binary)。
-
-e 对控制字符转义(escape),这可以保证文件传输正确。
如果能够确定所传输的文件是文本格式的,使用 sz -a files
如果是二进制文件,使用 sz -be files
rz命令常用参数
-
-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 去安装。
使用示例
简单示例
# 使用上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可。
rz
# 下载文件,执行命令sz
sz
示例一 将本地的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 ~]#
示例二将本地的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 错误
[root@qzt196 ~]#