Linux 命令速查
系统管理 man reset

reset

重置终端状态,修复被二进制输出弄乱的终端。

返回

补充说明

reset 是 ncurses 套件中的终端复位程序,与 tset 是同一个程序的链接。它会发送终端初始化序列、清除屏幕、恢复滚动区域、字符集和特殊字符设置,常用于误用 cat 查看二进制文件后终端出现乱码、回车失效或颜色错乱的情况。

它读取 TERM 环境变量决定使用哪套 terminfo 能力;如果 TERM 本身已经错误,可以在命令行显式指定终端类型,如 reset xterm-256color。reset 执行时会打印 “Erase is backspace” 之类的提示,可用 -Q 抑制。

相比 stty sane,reset 的复位更彻底,会清屏并重新初始化终端;tput reset 也能达到类似效果。在脚本或非交互环境中不要随意调用,它会输出控制字符,污染管道或日志。

语法

reset [选项] [终端类型]

选项

  • -I:不发送终端初始化字符串
  • -Q:不显示 Erase/Kill 等设置提示
  • -e <字符>:设置 erase 字符
  • -i <字符>:设置中断字符
  • -k <字符>:设置 kill 字符
  • -m <映射>:指定终端类型映射
  • -V:显示版本

实例

# 终端被二进制内容弄乱后复位
reset

# 不显示提示信息,适合脚本中调用
reset -Q

# TERM 设置错误时显式指定终端类型
reset xterm-256color

# 只恢复终端行模式(不尝试清屏)
stty sane

# 检查当前 TERM 是否正确
printf '%s\n' "$TERM"

参考链接