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

相关推荐
zhengqweasd8 分钟前
机房托管服务器怎么选硬盘,机械盘和 SSD 托管场景差异
运维·服务器·github
用户8356290780511 小时前
使用 Python 对 Excel 工作表进行排序
后端·python
for_ever_love__1 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
用户8356290780511 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python
xh didida1 小时前
Linux -- 基础IO
linux·服务器·开发语言·c++
weixin_461769402 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
2601_966949652 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
全栈弄潮儿2 小时前
Python实战第1期:Python环境搭建与第一个程序
python
心易行者2 小时前
Agent应用+API端点商业化进阶实战:从单体智能体到可付费调用的API全流程
运维·服务器·人工智能·python·apache