lrzsz工具
lrzsz是实现Windows和Linux之间文件传输的工具,要使用它的SSH连接工具需要支持Zmodem协议。我以前尝试在VMWare 中安装过VMWare tools实现Windows和Linxu之间直接拖动文件传输和拷贝/粘贴,由于在拖动到windows过程中导致VMWare崩溃后果断弃坑(可能由于我还没有掌握到正确的使用方法)。还有一种文件共享的方式就是mount挂载文件共享目录,经常用于将开发板挂载到主机上,主机将程序编译完成之后拷贝进挂载开发板的共享目录,开发板直接去挂载目录下执行。
安装
本着不重复造轮子的原则,上链接lrzsz安装及使用补充一下:链接中介绍了两种方法,一种下载源码编译安装,另一种是通过软件管理工具yum,一般yum存在与Centos版本,
如果你是Ubuntu,那么你就可以打开你的终端,输入 sudo apt install lrzsz
一路yes就可以了
问题
我在通过sz命令发送文件的过程中经常会出现这样的错误
初始的时候没有提示权限问题,直接报一串看不懂的数据,使我一直以为我的环境装的某个环境出现问题,最近才发现这个问题的根源在于我们传输的文件权限,可以ls -l
看一下我要发送的文件权限是没有其他人的读写权限的。可以通过sudo chmod a+rw 1.txt 来给要发送的目标文件加上读写权限,(如果是执行文件就需要 a+x 执行权限了)。
需要注意要保证这次发送成功:
发送的目标文件夹最好不要出现与发送目标文件的同名文件。
还有就是好像在 ~目录下发送会避免一些问题的出现(忘记是哪里看到的了,如果发送失败可以尝试一下)
补充说明
1、rz与sz只能传输 .log/.txt 等小文件,大文件还是使用Filezilla与xftp等工具进行传输;
2、只能传输单个文件,而不能传输文件夹;
3、不是所有工具都支持rz与sz,必须支持ZModem协议才行,例如putty不能使用rz与sz。