一文搞清UNIX/Linux与Windows文件换行符格式差异
💡
原文中文,约2900字,阅读约需7分钟。
📝
内容提要
本文总结了在Windows和Linux系统之间对同一个文件进行交替操作时可能遇到的问题,如换行符格式差异和文件格式影响等。同时提供了不同操作系统下查看和修改文件格式的方法。
🎯
关键要点
- 在Windows和Linux系统之间交替操作文件时可能遇到问题,如无法执行shell脚本。
- 换行符格式差异:Windows使用CR+LF,类Unix系统使用LF,Mac使用CR。
- 在Unix/Mac系统下打开Windows文件时,可能会出现多余的^M符号。
- Windows下的shell、python脚本在Linux上无法正常执行,可能会出现^M相关提示。
- Windows下查看文件格式的方法包括使用Visual Studio Code、Notepad++等编辑器。
- Linux下查看文件格式的方法包括使用cat、od、hexdump等命令。
- Windows下可以通过编辑器修改文件格式,Linux下可以使用vim、dos2unix等工具进行转换。
- 文本处理工具如sed、vi、tr和perl也可以用于文件格式转换。
❓
延伸问答
Windows和Linux系统的换行符格式有什么不同?
Windows使用CR+LF表示换行,而Linux和类Unix系统使用LF,Mac系统使用CR。
在Linux下打开Windows格式的文件会出现什么问题?
在Linux下打开Windows格式的文件时,可能会在每行结尾出现多余的^M符号。
如何在Windows下查看文件的换行符格式?
可以使用Visual Studio Code、Notepad++等编辑器查看,状态栏会显示CR+LF或LF。
在Linux中如何将Windows格式的文件转换为Unix格式?
可以使用vim命令执行set ff=unix,或使用dos2unix工具进行转换。
为什么Windows下的shell脚本在Linux上无法正常执行?
因为Windows下的脚本包含^M字符,导致Linux无法识别,出现bad interpreter错误。
在Linux下如何查看文件中是否有^M符号?
可以使用cat命令,执行cat -v filename,查看是否有^M符号显示。
➡️