当前位置: 首页 > 面试题库 >

清除终端屏幕的真实

程博学
2023-03-14
问题内容

使用clear终端上的命令只会使用户误以为屏幕已被清除…使用鼠标滚动时,您仍然可以看到以前命令的输出。当您淹没在文本海啸中时,这将使生活变得困难。

可以在Internet上找到的各种解决方案(转义码等)只是clear命令已经完成的工作的变体。

那么,如何真正清除Linux中终端的内容呢?


问题答案:

使用以下命令可以清晰显示屏幕,而不仅仅是添加新行…

printf "\033c"

是的,这是bash提示上的“ printf”。

您可能会想要定义一个别名…

alias cls='printf "\033c"'

说明

\033 == \x1B == 27 == ESC

因此,这<ESC>c就是用于重置终端的VT100转义代码。这是有关终端转义码的更多信息。

编辑

还有其他几种方法…

printf "\ec" #\e is ESC in bash
echo -en "\ec" #thanks @Jonathon Reinhart.
# -e    Enable interpretation of of backslash escapes
# -n    Do not output a new line

上面的方法在KDE控制台(称为Konsole)上不起作用,但是有希望!使用以下命令序列清除屏幕和向后滚动缓冲区…

clear && echo -en "\e[3J"

或者在KDE上使用以下别名…

alias cls='clear && echo -en "\e[3J"'

我从这里得到了回滚清除命令。



 类似资料:
  • 问题内容: 运行GO脚本时,Golang中是否有任何标准方法可以清除终端屏幕?还是我必须使用其他一些库? 问题答案: 注意: 运行命令以清除屏幕不是安全的方法。在这里也检查其他答案。 您必须为每个不同的OS定义一个清晰的方法,像这样。当用户的操作系统不受支持时,它会慌乱 (命令执行来自@merosss的答案)

  • 问题内容: 我正在为Swift2中的命令行编写BASIC解释器,但是我找不到实现简单命令CLS(从终端清除所有文本的方法)的方法。我应该只是在循环中打印空格还是有功能?我不知道那会清除终端屏幕吗? 问题答案: 将内置命令与 或(询问Google) 或者,通过命令行使用AppleScript模拟Ctrl + L的按下: 编辑:在较新版本的Swift中不再可用。

  • 问题内容: 有没有办法用nasm清除终端窗口中的屏幕?通过清除屏幕,我的意思是模仿热键。从窗口中删除所有文本。 是否可以在nasm组装中进行? 提前致谢, 赖利 问题答案: 在Bash中: 在C中: 我如何找到字符串:

  • 我制作了一个类,在draw函数中,我画了一个文本区域,一些静态文本,并给屏幕上色。draw函数位于while循环中。我希望整个pygame屏幕除输入框外都清晰,并且我希望屏幕改变颜色。我该怎么做?我的代码如下: ######################################################################################### 皮加梅。

  • 我在互联网上看了很多,但不知何故,找不到任何好处,总是清除屏幕在渲染方法或不太理解它。 那么清除屏幕的好处是什么?清除不会导致游戏在每次调用render方法时从头开始绘制所有内容吗?

  • 因此,我正在制作一个游戏,在60秒结束时,我想让屏幕改变颜色并显示一些结束文本。我这样设置计时器: 屏幕上显示的很好,但是当结束屏幕出现时,它会在原来的白色屏幕和结束屏幕之间闪烁。由于某种原因,如果我在屏幕上挥动鼠标,它不会闪烁。 “end”是我的游戏中的文本变量 如果这有帮助的话,这也是我在结尾的部分 有没有一种方法可以使它稳定地出现,而不必更改计时器?