首页 理论教育 Windows与Linux文件格式的互转

Windows与Linux文件格式的互转

时间:2023-11-18 理论教育 版权反馈
【摘要】:出现这两种情况的基本原因是两种系统的文件格式不同。当一个Linux下的文件包含了来自Windows的内容,或者这个文件就来自Windows,用命令dos2unix<文件名>转换其格式,文件格式差异的问题就解决了。同样,如果Linux下的某个文件要复制到Windows下使用,最好先执行命令unix2dos〈文件名〉,然后再将该文件复制到Windows,会避免潜在的麻烦。

Windows与Linux文件格式的互转

有时在Windows下编写好一个脚本,复制到Linux里不能正常运行,表面上也看不出脚本的语法问题,但就是不能正常运行;有时Linux下的某个脚本本来可以正常运行,可是从Windows的某处(从文件或邮件里)复制了几句命令,粘贴到Linux的这个脚本里,保存后,这个脚本也变得不能正常运行。出现这两种情况(实际上是一种情况:Linux中的脚本包含了来自Windows的内容)的基本原因是两种系统的文件格式不同。

例如,在Windows下用记事本编辑好如下脚本,并传到了Linux里(为保证传入Linux的过程中,文件的格式不变,可以先在Windows下将脚本压缩为.zip文件,传入Linux后再用unzip命令解压缩):

用chmod+x命令增加其执行权限之后,发现脚本不能运行:

在Windows下,文件的换行符为\r\n,而在Linux下,它是\n。这个差异造成了脚本错误。当一个Linux下的文件包含了来自Windows的内容,或者这个文件就来自Windows,用命令dos2unix<文件名>转换其格式,文件格式差异的问题就解决了。例如,转换格式后,脚本from_win.sh就可以正常执行了:(www.xing528.com)

如果读者感兴趣,可以用命令ls-l查看格式转换前后脚本的大小,可以发现字节数不同。

同样,如果Linux下的某个文件要复制到Windows下使用,最好先执行命令unix2dos〈文件名〉,然后再将该文件复制到Windows,会避免潜在的麻烦。

为进一步理解上面的内容(或者,如果没有成功看到上面的现象的话),也可以在Linux下找一个原本能够正常运行的脚本,用命令unix2dos〈脚本名〉改变其格式,再执行脚本试试,然后用命令ls-l查看格式转换前后脚本的字节数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈