有时候我们在将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
本文介绍了解决从Windows到Linux环境下文件出现乱码或^M字符的问题。主要原因是不同操作系统对文件行末回车符处理方式不同,文中提供了两种解决方案:一是使用vi编辑器调整文件格式;二是利用dos2unix命令进行转换。
774

被折叠的 条评论
为什么被折叠?



