一文搞清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符号显示。

🏷️

标签

➡️

继续阅读