通常,利用SSH管理远程Linux服务器时,经常需要与本地交互文件。当然,我们可以利用FTP方式,比如通过Filezilla客户端软件。不过直接使用SSH软件(SecureCRT、Xshell)自带的上传和下载功能无疑使最方便快捷的。通常SSH软件支持的文件传输协议主要有ASCII、Xmodem、Zmodem等。
ASCII是最快的传输协议,但只能传送文本文件;Xmodem是一种古老的传输协议,速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%;Ymodem是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快;Zmodem采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能,是目前最流行的文件传输协议。
单单是SSH客户端软件支持以上文件传输协议(ASCII,Xmodem,Ymodem,Zmodem)还不行,我们的Linux服务器上也得安装相应的软件,以支持这些文件传输协议才行。在Linux上,lrzsz就是完成此任务的,lrzsz就是一个支持Zmodem 传输协议的工具。我们通过sz/rz两个命令,分别发送/接收文件。如果我们的系统中没有安装lrzsz这个包,就会报错,以下两条命令可供参考。
yum -y install lrzsz
sudo apt-get install lrzsz
sz中的s意为send(发送),rz中的r意为received(接收),但不论是send还是received,动作都是在服务器上发起的。
### 下载一个文件:
sz filename
### 下载多个文件:
sz filename1 filename2
### 下载dir目录下的所有文件,但不包含dir下的文件夹:
sz dir/*
### 直接键入rz命令
rz
输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录。