用utrledit打开unix文本文件时总会提示:是否将文件转换为dos格式。以前一直不知道为什么。前段时间做项目,在windows编辑 shell,然后用ftp上传到linux主机,发现不能运行。由于没有经验,分析了半天。
不过最后终于得出了结论:dos和unix的文本文件格式有区别,这也是为什么前边提到utraledit会提示的原因。具体分析,在utrledit下打开分别打开一个dos和unix的文本文件,然后选择hex 编辑,即可看到其编码内容。
原来unix下的回车是用0x0A表示的,而dos下的回车则是0x0D0A。如果我们用wordpad打开unix的文件,会发现其换行处都不能正确识别。
分析了原因,就要找到解决的办法。在windows下用utraledit编辑后,可以在文件菜单下找到转换为unix格式,然后再上传主机。但是这时还有问题,因为有的ftp工具可以选择以文本或者二进制格式传输,这时则必须选择二进制,否则传输时又会被改为dos格式。其实在unix下已经有一个工具 dos2unix可以直接将dos格式文件转换为unix格式。看来各个系统间的区别不仅是在大的方面,也体现在这种细微的地方。