有时候我们在将Windows下编辑的文件传输至Linux环境中时会出现乱码现象,或者在每一行的末尾会加上一个奇怪的^M字符,这些情况一般都是文件格式(fileformat)不同导致的。
这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致。对于回车符的定义:
windows:0D0A
unixlinux: 0A
MAC: 0D
这个问题的解决方法一般有一下几种:
1、通过vi命令进入文件重新设置文件格式
在Linux命令行下,使用vi编辑文件(一般可以在WIndows下用git bash进入Linux环境去编辑文件):
$ vi filename
:set ff?用于查看文件格式(Windows下的显示fileformat=dos)
:set ff=unix用于设置文件格式为unix
:wq
2、使用dos2unix命令
终端下直接使用以下命令:
$ dos2unix filename