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

相关推荐
酣大智8 分钟前
网络协议计时器 & 发包间隔汇总
运维·网络·tcp/ip
Y幽谷客5 小时前
Python加载本地大模型(Qwen3.5 8B)
python·大模型
Wang's Blog5 小时前
Java 接入Redis: 服务启动停止与后台运行配置
java·服务器·redis
伞伞悦读6 小时前
【第36期】Python 目录与路径详解:pathlib、文件遍历、创建、复制、移动和删除风险
开发语言·python
线上放牧人6 小时前
Windows删除图标缓存
windows·python·pyqt
云运维笔记7 小时前
IP地址从入门到精通:网络通信的核心基石
运维·网络·计算机网络
qq_5470261797 小时前
Python 变量和简单数据类型
python
bosins7 小时前
WSL2 启动即崩溃?调整超时参数解决 Docker 阻塞问题
linux·docker·wsl
web守墓人8 小时前
【goed/ui】自定义组件设计思想篇
linux·windows·ui·golang
码农学院8 小时前
企业官网改版后 AI 引用归零的复盘:301 重定向断层让爬虫索引掉线,修复方案与恢复数据
运维·geo优化·ai优化aio