如何在保持回滚的同时清除我的 bash 屏幕?

mcq*_*rty 21 bash

clear命令可以使下一个命令更易于阅读(如果它输出的内容少于一页,则不会滚动,因此不会搜索开头)。但是,它也会清除您可能并不总是想要的回滚缓冲区。

And*_*son 31

只需按键盘上的 Ctrl-L。


Mat*_*att 6

clear命令没有为我清除回滚。所以clear或 ^L 工作。


Cap*_*ara 5

在较新版本的clear中,默认行为似乎已更改。要清除屏幕并保持回滚,请使用该选项-x。要使以前的行为创建一个别名,例如:

alias clear='clear -x'
Run Code Online (Sandbox Code Playgroud)


小智 5

TL; 博士

  • CtrlL将当前行滚动到顶部。回滚不会被删除。

  • clear -x 擦除所有不在回滚中的行。

  • clear 擦除所有行,包括回滚。


CtrlL 是 GNU readline library 的绑定,正如 Bash 手册页所说,它是在使用交互式 shell 时处理读取输入的内容。

clear-screen (CL) 清除屏幕,将当前行留在屏幕顶部。

CtrlL可重新分配结合.inputrc


clear,另一方面,是一个外部命令。

$ type clear
clear is /usr/bin/clear
Run Code Online (Sandbox Code Playgroud)

从它的手册页

clear如果可能,清除您的屏幕,包括其回滚缓冲区 (如果定义了扩展的“E3”功能)。

OPTIONS
-x 不会尝试使用扩展的“E3”功能清除终端的回滚缓冲区。