此类垃圾可能是将二进制数据输出到控制台的命令的后果。通常您不希望命令执行此操作。仍然可能由于错误或某些错误。例子:
你想cat file
知道file
文本文件在哪里,你打错了字,然后cat fild
在fild
碰巧是二进制文件的地方运行。
在这种情况下,您的终端仿真器可能会将某些特定的字节序列解释为控制序列等,它们将影响其以后的行为。
要解决此问题:
reset
。来自man 1 reset
:
当调用 as 时
reset
,tset
设置煮熟和回声模式,关闭 cbreak 和原始模式,打开换行转换并将任何未设置的特殊字符重置为其默认值,然后再执行上述终端初始化。这在程序死后使终端处于异常状态后很有用。请注意,您可能需要输入Run Code Online (Sandbox Code Playgroud)<LF>reset<LF>
(换行符通常是 control-J)使终端工作,因为在异常状态下回车可能不再工作。此外,终端通常不会回显命令。
所以更万无一失的命令版本似乎是:
reset
Ctrl+ J。我的经验(尤其是在tmux
)表明在某些情况下reset
可能无济于事;它通常仍然如此。
reset
POSIX 不需要。以下命令是,每一个都可能有帮助:
stty sane
, tput reset
.
归档时间: |
|
查看次数: |
5569 次 |
最近记录: |