I'd like to clear the scrollback buffer on Linux console VTs programmatically. i.e. not just clear the current visible screen, but the entire scrollback buffer, too. I.e. everything that after a clear screen would still be visible with Alt-PgUp should be gone too. Anybody got an idea how to achieve that in nice code?
I don't think this is in mainline yet, but linux-next has a patch to support a new console escape sequence that clears the screen and the scrollback buffer: CSI 3 J
For something that works without having to upgrade your kernel, you can use:
chvt 42; chvt <current tty no>; echo -en "\e[1;1H\e[2J"
Alternatively:
echo -e "\e[12;42]"; sleep .01; echo -en "\e[12;<current tty no>]\e[1;1H\e[2J"
You can get the current tty number with:
$( ls -l /proc/self/fd | sed -ne 's/.*tty//p' )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With