清算终端

清算终端

我想从 bash 脚本发出一个命令来清除它正在运行的终端:

  • 我不想清除 bash 历史记录 (history -c)
  • 我不想发出清除命令(将终端向下移动到最后一个提示符,给人一种终端已被清除的印象,但如果你向上滚动,以前的输出仍然可见)
  • 我想完全删除我终端上的所有先前输出,并将其清理干净,就像我打开一个新终端一样

谢谢。

答案1

尝试printf '\033c'。这会向终端发送一个转义序列,通常会清除所有内容,包括回滚缓冲区。

答案2

clear确实会清除终端屏幕。我猜你是从图形界面访问终端,因此你实际上是在使用控制台的界面,而不是实际的控制台。此界面会自动“保存”你的输出历史记录(向上滚动时看到的内容)。在真正的控制台(无图形界面)中,你不能直接向上滚动。在这种情况下,终端只是一个保存控制台输出日志的程序。

如果您打开一个新的终端窗口并关闭当前窗口,您将从一个新的窗口开始。(您也可以通过转到终端 -> 重新初始化并清除来手动重新初始化)


在桌面环境中运行的终端: 在此处输入图片描述

没有桌面环境的控制台: 在此处输入图片描述

答案3

查看这篇 SU 文章引用了 Bash 重置和清除命令

reset答案外还描述了另一种清除终端的方法。

答案4

一个选项可能是查看是否可以在禁用回滚的情况下启动终端。例如,xterm -sl 0将启动一个具有 0 个 saveLines 的 xterm。请参阅手册文件:

   -sl number
           This option specifies the number of lines  to  save  that  have
           been  scrolled  off the top of the screen.  This corresponds to
           the saveLines resource.  The default is 64.

相关内容