[英]How to save scrollback text to a file for a linux console using framebuffer
[英]clear scrollback buffer of Linux Virtual Console Terminals
我想以編程方式清除 Linux 控制台 VT 上的回滾緩沖區。 即不僅清除當前可見屏幕,還清除整個回滾緩沖區。 即在清除屏幕后仍然可以使用 Alt-PgUp 看到的所有內容也應該消失。 有人知道如何用漂亮的代碼實現這一點嗎?
我不認為這在主線中,但linux-next有一個補丁來支持一個新的控制台轉義序列,清除屏幕和回滾緩沖區: CSI 3 J
對於無需升級內核即可工作的內容,您可以使用:
chvt 42; chvt <current tty no>; echo -en "\e[1;1H\e[2J"
或者:
echo -e "\e[12;42]"; sleep .01; echo -en "\e[12;<current tty no>]\e[1;1H\e[2J"
您可以通過以下方式獲取當前的 tty 編號:
$( ls -l /proc/self/fd | sed -ne 's/.*tty//p' )
請記住,其他工具(例如通過 ssh)將具有不同的“回滾緩沖區”實現。 我非常懷疑您是否可以通過機器中的代碼清理膩子緩沖區。 另請參閱https://superuser.com/questions/122911/bash-reset-and-clear-commands
這會清除屏幕,但不會回滾。
echo -e '\\0033\\0143'
#取決於您使用的終端模擬器,在 gnome 終端上測試
來自https://superuser.com/questions/122911/bash-reset-and-clear-commands
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.