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,可以精确控制终端的行为,满足各种特殊需求。

相关推荐
即使再小的船也能远航5 分钟前
【Python】安装
开发语言·python
weixin_421725267 分钟前
Linux 编程语言全解析:C、C++、Python、Go、Rust 谁更强?
linux·python·go·c·编程语言
没有梦想的咸鱼185-1037-166320 分钟前
AI-Python机器学习、深度学习核心技术与前沿应用及OpenClaw、Hermes自动化编程
人工智能·python·深度学习·机器学习·chatgpt·数据挖掘·数据分析
Tolalal26 分钟前
Vmware Ubuntu虚拟机扩容
linux·运维·ubuntu
咚为1 小时前
比AccessLog更全面的原生Nginx 日志记录
运维·nginx·junit
axinawang1 小时前
第3课:变量与输入
python
我星期八休息1 小时前
Linux系统编程—基础IO
linux·运维·服务器·c语言·c++·人工智能·算法
Shingmc31 小时前
【Linux】数据链路层
linux·服务器·网络
idingzhi1 小时前
A股量化策略日报()
python
zyk_computer1 小时前
AI 时代,或许 Rust 比 Python 更合适
人工智能·后端·python·ai·rust·ai编程·vibe coding