【问题标题】:Clear terminal in CentOS 6 minimal在 CentOS 6 中清除终端最小
【发布时间】:2019-06-11 13:49:24
【问题描述】:

我在工作的虚拟机上安装了 CentOS 6 最低版本。仅限 CLI。

我想彻底清空终端,也就是说即使 Shift+PageUp 也不应该显示之前的输出。

我发现了几个这样的问题(如https://askubuntu.com/questions/25077/how-to-really-clear-the-terminal),而且所有这些问题似乎都有相同的答案。我试过了:

  • Ctrl+L 两次
  • 重置
  • tput 重置
  • printf '\e[3J'
  • 清除 && printf '\e[3J'
  • printf "\033c"
  • clear && clear(来自问题 iirc 的另一个副本)

回滚仍然存在。我真的不喜欢为这样愚蠢的事情打印 1000 行空行的想法。肯定有合适的方法吗?

编辑 0:

根据要求,我检查了 $TERM,值为 'linux'

编辑 1:

我做了更多的测试。并非所有内容都能保存下来,似乎只有在屏幕上方的线条和屏幕上出现的第一个线条才会出现。

示例:假设我正在查看帮助页面 (ls --help),我看到的第一行没有滚动是 -Z、--context 等。现在我清楚了。向后滚动会显示所有行,包括 -Z、--context 和之后的帮助中的所有行。

【问题讨论】:

  • 做了一些测试,并在一个真实的(fedora)终端 echo -en "\e[3J" 工作,所以它必须是 vmware 控制台的东西(我没有的东西)。 $TERM 显示什么?
  • echo $TERM 输出 linux
  • "linux" 也是它在普通终端中显示的内容,并且指向损坏的 termcap(猜不是)或特定于 vmware 控制台的内容。因为我没有 vmware 控制台,所以我不得不把它留给其他人 - 抱歉。

标签: terminal centos6


【解决方案1】:

所以我很清楚这与其说是一种解决方案,不如说是一种技巧,但目前我正在做我需要的事情。

~/bin 自动成为 PATH 的一部分,即使它不存在(我不知道为什么)。系统安装了python 2。

所以我在那里创建了一个包含内容的可执行文件clr

#! /usr/bin/python
import os
for i in range(1000):
    print
os.system("clear")

这确实删除了以前文本的所有痕迹,尽管它让我回滚了一些,显然除了空行之外什么也看不到。直接在 bash 中而不是在 python 中很可能会更好,但这会花费我更多的努力,而且这不是一个解决方案。

【讨论】:

    猜你喜欢
    • 2019-04-22
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 2023-02-22
    • 2012-04-23
    • 1970-01-01
    相关资源
    最近更新 更多