📜  Linux 中的 stty 命令和示例(1)

📅  最后修改于: 2023-12-03 15:17:22.222000             🧑  作者: Mango

Linux中的stty命令和示例介绍

概述

stty 命令是用于设置和打印终端设备参数的工具,可以用于调整终端的大小,输入、输出的流控制,终端键映射等。它可用于一些非交互式脚本中,也可以在交互式终端会话中使用。

语法
stty [选项] [设备]
常用选项
  • -a:打印所有终端属性
  • -g:打印当前终端设置,以便导出到脚本中备用
  • -F 设备:指定设备,例如 /dev/tty0、/dev/vc/0。如果不指定默认是当前控制台。
  • -h:显示帮助信息
  • -icanon:开启或关闭规范输入模式
  • -echo:关闭或打开回显输入字符
  • -brkint:允许或禁止中断 (break) 信号
  • -isig:捕捉或忽略信号
  • -echoe:启用或禁用特殊字符处理
  • -eol:设置终端输入行结束字符
示例
打印终端属性
$ stty -a
speed 38400 baud; rows 50; columns 190; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cmspar cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc -ixany -ixoff -imaxbel
-iutf8
-isysoff -xcase -enqdriver
-crlf

上面的示例显示了输入和输出串行端口的速度、窗口大小和许多其他属性。

传递设备参数
$ stty -echo -icanon < /dev/tty0

该命令通过重定向将 /dev/tty0 的参数设置为禁用标准的输入字符回显和规范模式。

输出当前设置
$ stty -g
speed 38400 baud; rows 50; columns 190; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cmspar cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc -ixany -ixoff -imaxbel
-isysoff -xcase -enqdriver
-crlf

该命令输出当前设备的设置,以便稍后备用。

恢复当前设置
$ stty `stty -g` < /dev/tty0

该命令使用 -g 标志获取当前终端设备的参数并将它们传递给另一个 stty 命令来还原它们。

总结

本文简要介绍了 Linux 中的 stty 命令,以及常用的选项和示例,希望对程序员们在终端控制方面有所帮助。