计算机中的换行符、回车符、n、r、nr怎么区分啊?

换行符 Windows 使用 \r\n,Linux 使用 \n。
回车符 \r 返回行首而不开始新行。
在编程中,\n代表换行,\r代表回车。
在文本编辑器中,nr 组合 \r\n 表示行尾。
不同的系统有不同的格式,所以在进行跨平台开发时要小心。
你自己掂量一下吧。

linux换行符怎么打

我记得有一次,我编写了一个脚本,需要将一行文本打印到命令行,然后换行并打印下一行。
我只是在 echo 命令后面添加了 Enter 键,认为这不会有问题。
结果,当我运行脚本时,我看到第二行文本直接连接到第一行,没有任何换行符。
我仍然想知道为什么我这么愚蠢。
换行不是直接按回车键就可以了吗?查了资料才知道Linux上的换行符是LF,而我用的回车键居然输出的是CR+LF,导致两行没有分开。
切换到echo“Hello,world\n”后,问题解决。
等等,还有一件事。
我突然想到,我在Windows下写文档的时候,不是按了回车键换行了吗?为什么一切都好?

文本文件的换行符:CR , LF ,CR/LF

嘿,让我们谈谈换行符。
记得有一次,我写了一个Python脚本,打算在Windows电脑上运行它。
然而,当我在Linux服务器上运行时,就报错了。
检查了半天发现是断线的问题。

那一年我还在北京的一家创业公司工作。
当时我们使用的是 MacOS,所有文件都用 CR 行分隔符填充。
后来我们搬到了Linux服务器,脚本中的CR就成了问题。
Linux 不识别 CR。
只会被理解为回车符,导致脚本中的逻辑变得一团糟。

当时我就想,这个断线器怎么这么麻烦呢?然后,经过一番研究,我发现CR、LF、CR+LF这三条分隔线各有各的用途。

CR 用于早期的 Mac(MacOS 的经典版本),LF 用于 UNIX/Linux 系统,CR+LF 用于 Windows。
这三种换行符类型在传输和显示过程中会略有不同。
例如,在传输文件时,FTP的ASCII模式会自动转换换行符。
有时CR+LF会转换为LF,这会导致文件内容发生变化。

记得有一次,我把一份文档上传到网上,发现内容有误。
结果发现是断线问题。
后来我学会了用编辑器来改变行分隔符格式。
比如VSCode就非常好用,底部的状态栏可以直接更改。

我们来谈谈 Git。
我之前在 Git 自动更改换行符方面遇到过问题。
然后,我配置了gitconfig并将autocrlf设置为false,这样就不会自动转换。

现在做开发,我一般都会建议团队统一使用LF格式,这样跨平台开发就不会出现问题。
对于脚本文件,比如Linux/macOS上执行的Shell、Python等,必须使用LF,否则可能会报错。

哎,这个断线问题真是让人头疼,不过也可以这样解决。
我们在开发的时候,需要多注意这些细节,避免出现很多不必要的问题。