为什么我在终端上看到转义字符?

通常CTRL-CCTRL-D退出程序。但是,不要退出程序,按CTRL-C只是将字符转义并输出到终端屏幕。我之前已经多次看到过这种情况发生在不同的程序上:Django,ssh等。我注意到,当我离开终端很长一段时间时会发生这种情况。为什么我在终端上看到转义字符

  • 有没有办法将CTRL-C的行为恢复到我的预期?
  • 转义字符背后的原因是什么?

这里是什么我通过逃脱CTRL-C和其他字符的意思的输出例如:

^C^C^d^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^d^d^d^d^d^d^d^d^d^d^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^d^d^D^D^D^D^D^D^D^D^D^D^D^D^[^ D^D^D^Z^Z^Z^Z^Z^Z

回答:

这是导致与服务器的连接可能已经中断,因此您的终端只是回应您所做的事情,而不是能够向您显示命令或服务器正在响应的内容。在这种情况下摆脱ssh的方式是使用终止序列~ + . + Enter。输入可能不总是需要

下面是SSH转义序列的列表

~. - terminate connection (and any multiplexed sessions) 

~B - send a BREAK to the remote system

~C - open a command line

~R - Request rekey (SSH protocol 2 only)

~^Z - suspend ssh

~# - list forwarded connections

~& - background ssh (when waiting for connections to terminate)

~? - this message

~~ - send the escape character by typing it twice

PS:从https://lonesysadmin.net/2011/11/08/ssh-escape-sequences-aka-kill-dead-ssh-sessions/

以上是 为什么我在终端上看到转义字符? 的全部内容, 来源链接: utcz.com/qa/259874.html

回到顶部