控制台命令reset(1)
是,我觉得太慢了。在我的机器上,执行时间需要1秒。
这是为什么?可以快速制作吗?或者,是否有另一个命令可以擦除我的终端缓冲区?
答案 0 :(得分:5)
使用clear,rmacs,rmm,rmul,rs1,rs2和rs3参数重置调用tput(1)。这会导致tput根据/ etc / termcap(对于GNU或BSD tput)或terminfo数据库(对于ncurses tput)中的信息向终端发送适当的重置字符串。这个序列似乎足以在Linux VC开始打印“看起来很滑稽”的字符时重置它们。为了更好的衡量,stty(1)被调用了一个理智的参数,试图恢复熟食模式。
另见clear(1),stty(1),tput(1)
答案 1 :(得分:4)
我跑了strace reset
,看到了接近结尾:
nanosleep({1, 0}, 0x7fffe32053e0) = 0
因此,在发送所有终端重置代码后故意等待一秒钟,可能是因为某些终端需要时间处理所有内容。
你不应该经常使用reset
(只有当全屏程序异常终止,所以它不会重置终端本身),为什么这是一个大问题?
我不确定你的意思是“擦除我的终端缓冲区”。这不是reset
的用途。
答案 2 :(得分:0)