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

相关推荐
●VON12 小时前
AtomGit Flutter鸿蒙客户端:文件树与代码浏览
android·服务器·安全·flutter·harmonyos·鸿蒙
小小测试开发17 小时前
安装 Python 3.10+
开发语言·人工智能·python
梦想不只是梦与想18 小时前
Python 中的装饰器
python·装饰器
我叫唧唧波18 小时前
Python+AI 全栈学习笔记
人工智能·python·学习
bush418 小时前
嵌入式linux学习记录七,中断
linux·嵌入式
RisunJan19 小时前
Linux命令-nologin(用于系统账户或需要禁止交互式登录的场景)
linux·运维
copyer_xyf19 小时前
Python 异常处理
前端·后端·python
是阿建吖!19 小时前
【Linux】信号
android·linux·c语言·c++
城北徐宫19 小时前
Linux信号深度解剖:5种产生、3张表、4次切换
linux·c++·学习
倔强的石头10619 小时前
【Linux指南】Linux快捷键与系统实用技巧
linux·运维·服务器