Linux 利用xshell SSH上传、下载文件(使用sz与rz命令)

发表于 2018-09-23   |   分类于 技术教程     阅读:(142)

通常,利用SSH管理远程Linux服务器时,经常需要与本地交互文件。当然,我们可以利用FTP方式,比如通过Filezilla客户端软件。不过直接使用SSH软件(SecureCRT、Xshell)自带的上传和下载功能无疑使最方便快捷的。通常SSH软件支持的文件传输协议主要有ASCII、Xmodem、Zmodem等。

使用前提:

1.首先,你的Linux端(CentOS, Ubuntu)需要安装rz/sz命令,也就是 lszrz 包。

2.其次,windows端需要支持ZModem的telnet/ssh客户端(Xshell,SecureCRT支持,好像putty不支持),SecureCRT就可以用SecureCRT登陆到Unix/Linux主机(telnet或ssh均可)

3.运行命令rz,即是接收文件,xshell就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到linux里的当前目录。如果要上传文件,直接用鼠标点住文件往X-shell里面一拖即是

4.运行命令 sz file 就是发文件到windows上(保存的目录是可以配置) 比ftp命令方便多了,而且服务器不用再开FTP服务了

在Linux上安装lrzsz

单单是SSH客户端软件支持以上文件传输协议(ASCII,Xmodem,Ymodem,Zmodem)还不行,我们的Linux服务器上也得安装相应的软件,以支持这些文件传输协议才行。在Linux上,lrzsz就是完成此任务的,lrzsz就是一个支持 Zmodem 传输协议的工具。我们通过sz/rz两个命令,分别发送/接收文件。如果我们的系统中没有安装lrzsz这个包,就会报错,安装即可解决。

[root@localhost ~]# rz
-bash: rz: command not found
## For CentOS/RHEL
[root@localhost ~]# yum -y install lrzsz

## For Ubuntu/debian
# sudo apt-get install lrzsz

理解记忆

其中,对于sz和rz的理解与记忆我用了如下的方法(很多时候容易搞混):

sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载。

rz中的r意为received(接收),告诉客户端,我(服务器)要接收文件 received by cilent,就等同于客户端在上传。

记住一点,不论是send还是received,动作都是在服务器上发起的。我们习惯了说上传或是下载,其实大可不必。使用这两个命令,只要思考一点,是要把文件从服务器上发送出去,还是从客户端接收回来,就可以了。

好吧,最后总结为一句话:

我(客户端)上传,你(服务器)接收(RZ),我下载(客户端),你(服务器)发送(SZ)。

5、简单用法

sz用法:发送出去

下载一个文件:

sz filename

下载多个文件:

sz filename1 filename2

下载dir目录下的所有文件,不包含dir下的文件夹:

sz dir/*

rz用法:接收回来

直接键入rz命令即可

rz

直接拖动文件到 xshell, 或者 SecureCRT 窗口即可

输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录。

发表新评论

© 2019 VPS干货 Powered by Typecho & Theme Quark Google_sitemap baidu_sitemap
友情链接: 简爱博客 小众博客 vps干货 vps优惠码 王阳个人博客 VPS推介 顾建伟个人博客 Dianlin(好基友) 李子博客 主机测评 资源分享 Hello Mango