\ r \n在Linux系统上的含义

Baz*_*Baz 2 c++ linux bash terminal vt100

我正在看一些特定于linux的代码输出以下内容:

\r\x1b[J>
Run Code Online (Sandbox Code Playgroud)

到了标准.

据我所知,这<ESC>[J表示从当前行中删除屏幕内容,但这里做了什么?

我也看到了以下内容:

>user_input\n\r>
Run Code Online (Sandbox Code Playgroud)

其中user_input是用户输入的文本.但是\ r这里的目的是什么?

Som*_*ude 9

这个角色'\r'回车.它将光标返回到行的开头.

它通常用于与newline('\n')结合的Internet协议中,以标记行的结尾(大多数标准将其指定为"\r\n",但有些允许错误的方式).在Windows上,回车换行符对也用作行尾.在旧的Macintosh操作系统上(在OSX之前),使用单个回车符而不是换行符作为行尾,而UNIX和类UNIX系统(如Linux和OSX)使用单个换行符.

  • 从历史上看,新行意味着:在屏幕或打印机上,将光标向下移动一行,但将其保留在同一列中.并且回车将其移动到行的开头,而不更改行.要转到下一行的开头,您需要两者(按任意顺序).Unix和Mac的作者显然认为他们只需要一个字符就可以到下一行的开头,然后选择一个. (2认同)