如何通过XShell传输文件——lrzsz(非常实用的小工具)

如何通过XShell传输文件
今天介绍一个XShell的使用小技巧,可以很方便的在桌面电脑和服务器之间传输文件。

如何通过XShell传输文件——lrzsz(非常实用的小工具)

首先我们在服务器上安装一个叫做lrzsz的软件,CentOS 6系统自带这个软件,可以使用yum命令直接安装:

yum install lrzsz

如何通过XShell传输文件——lrzsz(非常实用的小工具)

如果我们要将服务器当前目录的一个文件test_file下载到桌面电脑,只需要在服务器上执行sz test_file,XShell会自动弹出一个对话框,选择要保存文件的目录然后点击确认即可完成下载。

如何通过XShell传输文件——lrzsz(非常实用的小工具)

如何通过XShell传输文件——lrzsz(非常实用的小工具)

如果我们要将桌面电脑的一个文件StepperMotor.c上传到服务器上,只需要在XShell的菜单中点击File – Transfer – Send ZMODEM,然后选择要上传的文件,确认后即可完成传输。

如何通过XShell传输文件——lrzsz(非常实用的小工具)
如何通过XShell传输文件——lrzsz(非常实用的小工具)
如何通过XShell传输文件——lrzsz(非常实用的小工具)
如何通过XShell传输文件——lrzsz(非常实用的小工具)

这种文件传输方式使用了一种叫做ZMODEM的协议,这种协议非常古老,但有其无可比拟的优势:无需在服务器上开启任何额外的服务和端口,可以穿透多个服务器传输文件(我们在桌面电脑上使用XShell登录到A服务器,然后在A服务器上通过SSH登录到B服务器,依旧可以使用这种方式从B服务器直接传输文件到桌面电脑,这种场景非常常见)。

参考资料:

https://en.wikipedia.org/wiki/ZMODEM

https://ohse.de/uwe/software/lrzsz.html