Bash
我可以使 clear 命令的行為類似於 Bash 中的 Ctrl-L 嗎?
似乎
clear
和 bashCtrl
-L
完全不同;clear
完全刪除所有以前的終端資訊(因此您不能向上滾動)同時Ctrl
-L
只需滾動螢幕,使游標位於頁面頂部,以便您仍然可以向上滾動並查看以前的資訊。我更喜歡Ctrl
-L
系統。有沒有辦法覆蓋clear
,以便它執行Ctrl
-L
而不是擦除所有以前的終端資訊?這不是一個大問題,但出於好奇,我只是想知道是否有一種方法可以將別名clear
指向我的首選Ctrl
功能L
。作為旁注,我剛剛注意到 PowerShell 也有一個綁定
Ctrl
-L
並且它的執行方式與Ctrl
-L
在 bash 上相同;似乎那裡的 PowerShell 設計人員從 bash 中獲得了很多,而cmd.exe
控制台沒有此功能。
有沒有辦法覆蓋 clear 以便它執行 Ctrl-L 而不是擦除所有以前的終端資訊?
alias clear='tput -x clear'
是的,
Ctrl-L
在 bash 中(在set -o emacs
模式下)做同樣的事情。或者您可以硬連線
alias clear='printf "\033[H\033[2J"'
應該在大多數終端仿真器中使用的轉義,並且不假設您已經安裝ncurses
或bash
安裝。注意:
clear
busybox 中的小程序不會清除回滾緩衝區,因此如果您使用一些基於busybox 的系統,就像大多數嵌入式Linux 系統一樣,您不必做任何特別的事情。