Linux 的 stty 命令

Linux 的 stty 命令是一个用于配置和显示终端(terminal)设置的实用工具。它允许用户查看和修改与终端相关的各种参数,这些参数控制着终端的输入输出行为。

基本功能

  1. 查看当前终端设置

    最简单的用法是直接输入 stty -a,这会显示当前终端的所有设置。例如:

    bash 复制代码
    stty -a

    输出会包括波特率、行控制、字符处理等各种参数。

  2. 修改终端设置
    stty 可以修改终端的多种行为,比如:

    • 设置回显(echo):

      bash 复制代码
      stty echo   # 启用回显
      stty -echo  # 禁用回显
    • 设置行结束符(如将回车符设置为 ^M):

      bash 复制代码
      stty crlf

常见应用场景

  1. 密码输入

    在脚本中禁用回显可以安全地输入密码:

    bash 复制代码
    #!/bin/bash
    stty -echo
    read -p "Password: " password
    stty echo
  2. 串口通信配置

    在与串口设备通信时,可以用 stty 设置波特率等参数:

    bash 复制代码
    stty -F /dev/ttyS0 9600 cs8 -cstopb -parenb
  3. 修复混乱的终端

    如果终端显示异常,可以用以下命令重置:

    bash 复制代码
    stty sane

注意事项

  • stty 的设置通常是临时的,只对当前终端会话有效。
  • 某些设置可能会影响终端的行为,比如禁用回显后,输入的内容将不可见。
  • 在脚本中使用时,最好在修改设置后恢复原状,以避免不可预知的问题。

高级用法

stty 还支持更多高级功能,比如:

  • 设置字符的擦除(erase)和终止(kill):

    bash 复制代码
    stty erase ^H  # 设置退格键为擦除字符
  • 控制流(flow control)设置:

    bash 复制代码
    stty -ixon     # 禁用软件流控制

通过灵活使用 stty,可以精确控制终端的行为,满足各种特殊需求。

相关推荐
Warson_L7 小时前
Python `Annotated` 与 LangGraph Reducer 学习笔记
python
韩师傅7 小时前
海天线算法的前世今生
python·计算机视觉
韩师傅7 小时前
当你的甲方设备过烂,要如何快速出效果?
python·计算机视觉
Warson_L8 小时前
LangGraph的MessageState and HumanMessage
python
韩师傅8 小时前
当你的甲方吐槽天空不够蓝,你应该如何应对
python·计算机视觉
Warson_L9 小时前
python的类&继承
python
Warson_L9 小时前
类型标注/type annotation
python
ThreeS11 小时前
手搓MiniVLA全实战教程-一步一步用pytorch解释原理与思路
人工智能·python
金銀銅鐵12 小时前
[Python] 模 n 乘法的逆元计算器
python·数学·游戏
AlfredZhao13 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80