跨平台sftp传文件夹
分类:Others
需要在Windows和CentOS之间互传文件,使用的是Windows上的XShell-sftp工具。
sftp登录
使用命令sftp user@ip
再根据提示输入password即可。
sftp交互式环境
登录之后可以像ssh一样使用远端环境,本地环境只需在前面一个l
即可,例如:显示当前路径命令为pwd
,则显示本地当前路径命令为lpwd
。
传输文件
put
上传文件,文件名后不加参数默认上传至远端当前目录。get
下载文件,文件名后不加参数默认下载至本地当前目录。
传输文件夹
理论上来讲在put
或者get
后面加-r
应该就可以实现文件夹的上传下载,但是不知道为什么老是报:
sftp:/root> put -r C:/folder
sftp: cannot open C:/folder to read
Google也没有找到比较好的办法,试过了在远端创建上传的同名文件夹,并且chmod 777 folder
设置目录权限之后还是不能成功,最后想是不是Windows和Linux传输协议不同的问题(虽然XShell是模拟的Linux的环境,但模拟的始终是模拟的,可能底层通信有所不同),于是用VMWare创建了一个Linux虚拟机进行相同的操作后成功。
如果有收获,可以请我喝杯咖啡!