这个问题实际上没有一个确定的答案,因为操作系统不使用行结尾,而是由应用程序使用行结尾。大多数操作系统 API 将文件内容提供给应用程序作为连续的字节流,而不是一组行,所以应用程序需要根据其算法读写行结尾。 在 Windows 上(包括 MS-DOS 之前),规定应用程序使用 CR LF 对来表示行结尾,而在 Unix(以及类似的 Linux 系统)上,规定应用程序只使用 LF。 现代应用程序通常可以读写任意格式 - 包括 Windows 上最新版本的记事本 - 但可能会根据这些历史约定选择默认格式。 由于在 WSL 下运行的应用程序与在真实的 Linux 系统下运行的应用程序相同,它们可能会默认使用 LF。
- IMSoP
11
1即使是内核(可能是可以称为“操作系统”的最小部分)也使用LF。例如,用于表示可读数据的/proc文件系统中的文件。同样,处理Hash-bang行的binfmt模块将读取直到第一个LF。因此,尽管它通常只是惯例,但有时它不仅仅是惯例,即使只是惯例,也会被严格遵循。因此,在我看来,“Unix使用LF”这个快捷方式足以接受,接近真相。 - Joachim Sauer