[Shell] Linux与Windows之间传输文件或文件夹

我是在windows下工作,用SecureCRT连接远端Linux主机。


从网上下载了一个zip文件(都是pdf、doc等,需要在win下看),在windows下用RAR解压出问题。将该zip文件用rz命令传输到linux上,用unzip解压,没有出现异常。


将文件夹用tar命令打包成tar.gz文件,sz命令传输至windows,用winRAR打开,文件名全是乱码,不过文件内容倒是好的。


网上解释的原因是tar压缩时不保存路径的encoding信息,例如文件系统使用utf-8,但是到windows使用gbk解压,就会出现乱码。同时推荐7zip,包含了文件路径的编码信息,压缩率很好,支持格式也很多,开源。


于是从网上下载源代码编译并传输:

wget http://jaist.dl.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2
tar xvjf  p7zip_9.20.1_src_all.tar.bz2
cd p7zip_9.20.1
make && make install
7za a aaa.7z myfolder
sz aaa.7z

经验:如果传输单个文件用sz/rz会很方便,但是传输一个文件夹时,可能需要先7z压缩成一个文件,然后再传。



你可能感兴趣的:([Shell] Linux与Windows之间传输文件或文件夹)