插件窝 干货文章 linux stty是什么意思

linux stty是什么意思

终端 stty 设置 波特率 263    来源:    2025-04-30

stty 是 Linux/Unix 系统中用于配置和显示终端(TTY)设置的命令行工具。它允许用户查看或修改终端设备的参数,例如输入输出行为、字符处理、波特率(对于串口终端)等。


主要功能

  1. 查看当前终端设置
    直接运行 stty -a 会显示当前终端的所有配置参数:

    stty -a
    

    输出示例:

    speed 38400 baud; rows 24; columns 80; line = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; ...
    
    • speed:波特率(对虚拟终端通常无意义)。
    • intrquit:信号控制字符(如 ^C 发送 SIGINT)。
  2. 修改终端行为

    • 禁用终端回显(输入不显示): bash stty -echo
    • 恢复回显: bash stty echo
    • 设置退格键(Backspace)为删除字符: bash stty erase ^H
  3. 特殊用途

    • 修复终端显示混乱(如二进制数据乱码后): bash stty sane
    • 设置串口终端的波特率(需权限): bash stty speed 9600 < /dev/ttyS0

常见场景

  • 密码输入:脚本中禁用回显以安全输入密码。
  • 终端调试:修复异常终端行为(如按键无响应)。
  • 串口通信:配置硬件串口参数(数据位、停止位等)。

注意事项

  • 修改的配置仅对当前终端会话生效,退出后恢复默认。
  • 错误的设置可能导致终端无法使用,可通过 stty sane 恢复默认值。
  • 需要权限时(如操作硬件终端),需使用 sudo

示例命令

# 显示所有设置(精简版)
stty -a

# 禁用控制键(如禁用 Ctrl+C 中断)
stty intr undef

# 设置终端窗口大小为 30 行 x 100 列
stty rows 30 cols 100

通过 man stty 可查看完整手册。