如何禁用在 Linux 中从命令行显示以前查看的代码/输出?

如何禁用在 Linux 中从命令行显示以前查看的代码/输出?

例如,如果我查看一份名为a.txtlinux 的文档。这是我的提示:

user $ less a.txt
This is a document named a.txt, here is what happened when I press 'q'
user $ 

小文档不会困扰我,但当我查看长度为 2000 行的代码时,除了查看之外,我无法从之前的命令中看到任何内容$history

如何在存在时停止显示文档/代码('q')?

答案1

通常,您要求的行为是默认行为。命令如下较少的使用名为替代屏幕在运行时写入不同的缓冲区。退出时,将恢复上一个屏幕,并且不会显示任何输出。

此功能取决于您使用的终端仿真器(xterm、dtterm 等)以及您在 shell 中设置 TERM 环境变量的方式。尝试echo $TERM检查它是否哑的例如。

答案2

正如所说,您问的是预期的正常行为。如果您使用 -X 标志运行不太明确的操作,则屏幕不会清除,如下所示:

less -X 文件名

您可以专门检查以下内容:

1) 如果设置了任何别名,则您会看到 less 设置为 less -X 。只需运行命令 alias

2)检查环境变量 LESS 是否设置为 -XF ,如下所示,然后取消设置它:

[root@host]# env | grep LESS

较少=-XF

3) 检查环境变量,如果存在则取消设置 PAGER='less -X'

在这里阅读更多(虽然要关闭它):

'less' 命令在退出时清除屏幕 - 如何关闭它?

相关内容