WinSCP传输文本文件时会自动转换格式


今天遇到一件烦心事:

由于一个项目需要做文件验证,先在Windows上做了md5,然后上传到FreeBSD中再做md5验证,发现md5不一致。反复做了检查了各个步骤,仍然不一致,把代码反来复去改了大半天,仍然没能解决。

偶尔上传了一个zip文件,惊奇发现md5一致了,这才怀疑是不是winscp对文本文件做了处理。

把文件文件改名为.zip,再次上传,md5一致了。

这才注意到:在Windows下的文本文件用ssh上传到Unix/Linux,会自动进行格式转换,就是把回车、换行转为换行,在Unix下查看,会发现少了^M。

winscp也会反过来转换,在Unix下的换行会自动转为回车换行,在记事本中查看可以看到正确的格式。

如果不希望进行自动转换,在传输时选择binary模式,默认是auto。

本文永久更新链接地址

相关内容