stty 命令
用途
设置、复位和报告工作站操作参数。
语法
描述
stty 命令对当前为标准输入的设备设置某些 I/O 选项。 该命令将输出写入当前为标准输出的设备中。
此版本的操作系统使用标准 X/Open 可移植性指南问题 4 接口来控制终端,从而保持与 POSIX 和 BSD 接口的兼容性。 stty 命令支持 POSIX 和 BSD 的适应选项,但强烈推荐使用 POSIX 选项。 同样提供废弃的 BSD 选项列表(带有对应的 POSIX 选项)。
输入以下命令时,可以将 tty 设备的标准输入重定向:
stty -a </dev/ttyxstty 命令(POSIX)将挂起并等待该 tty 的 open(),直到确定 RS-232 载波检测信号。 如果设置了 clocal 或 forcedcd(仅对 128 端口)选项,这个规则将不适用。
标志
| 项 | 描述 |
|---|---|
| -a | 将所有选项设置的当前状态写到标准输出。 |
| -g | 将选项设置写到标准输出,其格式可以由另一个 stty 命令使用。 |
选项
stty 命令支持以下选项类别:
| 控制模式 | 描述 |
|---|---|
| clocal (clocal) | 假定一行没有调制解调器控制。 |
| -本地 | 假定一行带有调制解调器控制。 |
| 创建 | 启用接收器。 |
| -绉 | 禁用接收器。 |
| cstopb | 每个字符选择两个停止位。 |
| -cstopb | 每个字符选择一个停止位。 |
| cs5, cs6, cs7, cs8 | 选择字符大小。 |
| hup和 hupcl | 最后关闭时挂起拨号连接。 |
| -hup和 -hupcl | 最后关闭时不挂起拨号连接。 |
| 括号 | 启用奇偶性校验的生成和检测。 |
| -父母 | 禁用奇偶性校验的生成和检测。 |
| 参数 | 选择奇校验。 |
| -par奇数 | 选择偶校验。 |
| 重大安全事件数量 | 立即挂起电话线路。 |
| speed | 将工作站输入和输出速度设置为指定的 speed 数(以位/秒为单位)。 并不是所有的硬件接口都支持所有的速度。 speed 的可能值有:50、75、110、134、200、300、600、1200、1800、2400、4800、9600
、19200、19.2、
38400、38.4、exta 和 extb。 注: exta, 19200和 19.2 是同义词; extb, 38400和 38.4 是同义词。
|
| ispeed 速度 | 将工作站输入速度设置为指定的 speed 数(以位/秒为单位)。 并不是所有的硬件接口都支持所有的速度,而且并不是所有的硬件接口都支持该选项。 speed 的可能值与 speed 选项的可能值相同。 |
| ospeed 速度 | 将工作站输出速度设置为指定的 speed 数(以位/秒为单位)。 并不是所有的硬件接口都支持所有的速度,而且并不是所有的硬件接口都支持该选项。 speed 的可能值与 speed 选项相同。 |
| 输入方式 | 描述 |
|---|---|
| ()()()() | 中断时发出 INTR 信号。 |
| -()()()() | 中断时不发出 INTR 信号。 |
| icrnl | 输入时将 CR 映射为 NL。 |
| -icrnl | 输入时不将 CR 映射为 NL。 |
| ignbrk | 输入时忽略 BREAK。 |
| -忽略分隔符 | 输入时不忽略 BREAK。 |
| (二)...... | 输入时忽略 CR。 |
| -(二)...... | 输入时不忽略 CR。 |
| (二)...... | 忽略奇偶错误。 |
| -(二)...... | 不忽略奇偶错误。 |
| inlcr | 输入时将 NL 映射为 CR。 |
| -inlcr | 输入时不将 NL 映射为 CR。 |
| inpck | 启用奇偶校验。 |
| -inpck | 禁用奇偶校验。 |
| is牵绊 | 将输入字符剥离到 7 位。 |
| -is牵 (-is牵) | 不将输入字符剥离到 7 位。 |
| iuclc | 将大写字母字符映射为小写。 |
| -iuclc | 不将大写字母字符映射为小写。 |
| ixany | 允许任何字符重新启动输出。 |
| -ixany | 只允许 START(Ctrl-Q 按键顺序)重新启动输出。 |
| ixoff | 当输入队列接近空或满时,发送 START/STOP 字符。 |
| -ixoff | 不发送 START/STOP 字符。 |
| ixon | 启用 START/STOP 输出控制。 一旦启用 START/STOP 输出控制,您可以按下 Ctrl-S 按键顺序暂停向工作站的输出,也可按下 Ctrl-Q 按键顺序恢复输出。 |
| -ixon | 禁用 START/STOP 输出控制。 |
| IMAX贝尔 | 当输入溢出时,回送 BEL 字符并且废弃最后的输入字符。 |
| -IMAX贝尔 | 当输入溢出时,废弃所有输入。 |
| 参数 | 标记奇偶错误。 |
| -parmrk | 不标记奇偶错误。 |
输出方式
| 输出方式 | 描述 |
|---|---|
| bs0, bs1 | 为退格符选择延迟样式(bs0 表示没有延迟)。 |
| cr0, cr1, cr2, cr3 | 为 CR 字符选择延迟样式(cr0 表示没有延迟)。 |
| ff0, ff1 | 为换页选择延迟样式(ff0 表示没有延迟)。 |
| nl0, nl1 | 为 NL 字符选择延迟样式(nl0 表示没有延迟)。 |
| 填写 | 使用延迟填充字符。 |
| -泔水桶 | 使用延迟定时。 |
| ocrnl | 将 CR 字符映射为 NL 字符。 |
| -ocrnl | 不将 CR 字符映射为 NL 字符。 |
| 奥尔库克 | 输出时将小写字母字符映射为大写。 |
| -奥尔库克 | 输出时不将小写字母字符映射为大写。 |
| onlcr | 将 NL 字符映射为 CR-NL 字符。 |
| -onlcr | 不将 NL 字符映射为 CR-NL 字符。 |
| onlret | 在终端 NL 执行 CR 功能。 |
| -onlret | 在终端 NL 不执行 CR 功能。 |
| 独裁者 | 不在零列输出 CR 字符。 |
| -独裁者 | 在零列输出 CR 字符。 |
| 波斯特 | 处理输出。 |
| -帖子 | 不处理输出;即忽略所有其他输出选项。 |
| 位置 | 使用 DEL 字符作为填充字符。 |
| -de | 使用 NUL 字符作为填充字符。 |
| tab0, tab1, tab2 | 为水平制表符选择延迟样式(tab0 表示没有延迟)。 |
| tab3 | 扩展制表符至多个空格。 |
| vt0, vt1 | 为垂直制表符选择延迟样式(vt0 表示没有延迟)。 |
| 本地模式 | 描述 |
|---|---|
| 回送 | 回送每个输入的字符。 |
| -回响 | 不回送字符。 |
| 回传控制器 | 以 ^X(Ctrl-X)回送控制字符,X 是将 100 八进制加到控制字符代码中给出的字符。 |
| -echoctl | 不以 ^X(Ctrl-X)回送控制字符。 |
| 回传 | 以“backspace space backspace”字符串回送 ERASE 字符。 注: 此方式不会跟踪列位置,因此在擦除诸如制表符和转义序列之类的内容时可能会获得意外结果。
|
| -回声 | 不回送 ERASE 字符,只回送退格符。 |
| 回传 | 在 KILL 字符后回送 NL 字符。 |
| -唤醒 | 在 KILL 字符后不回送 NL 字符。 |
| 回传 | 通过擦除输出行上的每个字符,回送 KILL 字符。 |
| -回声 | 只回送 KILL 字符。 |
| 回声湖 | 回送 NL 字符。 |
| -echonl | 不回送 NL 字符。 |
| 回声端口 | 以 /(斜杠)和 \(反斜杠)向后回送擦除的字符。 |
| -回声端口 | 不以 /(斜杠)和 \(反斜杠)向后回送擦除的字符。 |
| icanon | 启用规范输入(规范输入允许使用 ERASE 和 KILL 字符进行输入行的编辑)。 请参阅 Communications Programming Concepts的 "线路规程模块 (ldterm)" 中有关 规范方式输入 的讨论。 |
| -icanon | 禁用规范输入。 |
| iexten | 指定从输入数据中无法识别实现性定义的功能。 要识别以下控制字符,需要设置 iexten:eol2、dsusp、reprint、discard、werase、lnext。 与这些模式关联的功能也需要设置 iexten:imaxbel、echoke、echoprt、echoctl。 |
| -iexten | 指定从输入数据中无法识别实现性定义的功能。 |
| isig | 启用对特殊控制字符(INTR、SUSP 和 QUIT)的字符检查。 |
| -isig | 禁用对特殊控制字符(INTR、SUSP 和 QUIT)的字符检查。 |
| noflsh | 不清除 INTR、SUSP 或 QUIT 控制字符之后的缓冲区。 |
| -noflsh | 清除 INTR、SUSP 或 QUIT 控制字符之后的缓冲区。 |
| 暂挂 | 下次读操作暂挂或输入到达时,要重新输入从原始模式转换为规范模式后被暂挂的输入。 暂挂是一个内部状态位。 |
| -暂挂 | 没有文本暂挂。 |
| 停 | 为背景输出发出 SIGTOU 信号。 |
| -停 | 不为背景输出发出 SIGTOU 信号。 |
| 案例 | 在输入中回送大写字符,并在输出显示的大写字符之前加上 \(反斜杠)。 |
| -案例 | 不在输入时回送大写字符。 |
硬件流量控制模式
| 项 | 描述 |
|---|---|
| cdxon | 输出时启用 CD 硬件流量控制模式。 |
| -cdxon | 输出时禁用 CD 硬件流量控制模式。 |
| ctsxon | 输出时启用 CTS 硬件流量控制模式。 |
| -ctsxon | 输出时禁用 CTS 硬件流量控制模式。 |
| dtrx关闭 | 输入时启用 DTR 硬件流量控制模式。 |
| -dtrx关闭 | 输入时禁用 DTR 硬件流量控制模式。 |
| rtsx关闭 | 输入时启用 RTS 硬件流量控制模式。 |
| -rtsx关闭 | 输入时禁用 RTS 硬件流量控制模式。 |
控制分配
要将一个控制字符指定到某字符串中,请输入:
stty Control StringString 参数可以是任何单个字符,例如 c。 此控制分配的一个示例是:
stty stop c另一种指定控制字符的方法可以是:输入一个字符序列,它是由一个 \^ (反斜杠,插入记号) 后面跟着一个单一字符组成的。 如果跟在 ^ (插入记号)后的单一字符是下表的 ^c(插入记号 c)栏中列出的字符之一,将设置相应的控制字符值。 例如,要使用? 指定 DEL 控制字符 (问号) 字符,输入字符串\^?(反斜杠,插入标记,问号) ,如:
stty erase \^?| ^c | 值 |
|---|---|
| a 和 A | <SOH |
| b 和 B | <STX> |
| c 或 C | <ETX> |
| d 和 D | <EOT> |
| e , E | <ENQ |
| f 和 F | <ACK> |
| g 和 G | <BEL> |
| 小时, H | <BS |
| i 和 I | <HT> |
| j 和 J | <LF |
| k 和 K | <VT |
| L | <FF |
| m 和 M | <CR |
| n 和 N | <SO |
| o 和 O | <SI |
| p 和 P | <DLE> |
| Q、q | <DC1> |
| r 和 R | <DC2> |
| 秒, S | <DC3> |
| t 和 T | <DC4> |
| u 和 U | <NAK |
| V | <SYN> |
| w 和 W | <ETB> |
| x 和 X | <CAN |
| y 和 Y | <EM |
| z 和 Z | <SUB> |
| [ | <ESC |
| \ | <FS |
| ] | <GS |
| ^ | <RS |
| _ | <美 |
| ? | <DEL |
| @ | <NUL> |
| 组合模式 | 描述 |
|---|---|
| 已煮熟 | 请参阅 -raw 选项。 |
| ek | 分别将 ERASE 和 KILL 字符设置为 Ctrl-H 和 Ctrl-U 按键顺序。 |
| 事件 | 启用 parenb 和 cs7。 |
| -偶数 | 禁用 parenb 并设置 cs8。 |
| lcase 和 LCASE | 设置 xcase, iuclc和 olcuc。 在工作站只以大写字符使用。 |
| -lcase 和 -LCASE | 设置 -xcase, -iuclc和 -olcuc。 |
| nl | 设置 -icrnl 和 -onlcr。 |
| -nl | 设置 icrnl, onlcr, -inlcr, -igncr, -ocrnl和 -onlret。 |
| 奇数 | 启用 parenb, cs7, 和 par奇数。 |
| -奇数 | 禁用 parenb 并设置 cs8。 |
| parity | 请参阅 evenp 选项。 |
| -奇偶校验 | 请参阅 -evenp 选项。 |
| 理智 | 将参数重新设置为合理的值。 |
| 原始 | 允许原始模式输入(不包括输入处理,例如 erase、kill 或 interrupt);传回奇偶(校验)位。 |
| -未经加工的 | 允许规范输入方式。 |
| 制表符 | 保留制表符。 |
| -tab, tab3 | 显示时将制表符替换为空格。 |
| 窗口大小 | 描述 |
|---|---|
| cols n 和 columns n | 将终端(窗口)大小记录为有 n 列。 |
| 行 n | 将终端(窗口)大小记录为有 n 行。 |
| 大小 | 将终端(窗口)大小显示到标准输出(先是行,再是列)中。 |
废弃的选项
| 项 | 描述 |
|---|---|
| all | 使用 stty -a 命令显示所有当前设置。 |
| crt | 使用 sane 选项将参数重置为合理的值。 |
| crtbs | 使用 -echoe 选项。 |
| 酶 | 使用 echoe 选项。 |
| -酶 | 使用 -echoe 选项。 |
| 毙命 | 使用 echoke 选项。 |
| -毙命 | 使用 echok 和 -echoke 选项。 |
| 烛光 | 使用 echoctl 选项。 |
| -烛光 | 使用 -echoctl 选项。 |
| Decctlq | 使用 -ixany 选项。 |
| -Decctlq | 使用 ixany 选项。 |
| 偶 | 使用 evenp 选项。 |
| -偶数的 | 使用 -evenp 选项。 |
| 所有内容 | 使用 stty -a 命令显示所有当前设置。 |
| 升出 (litout) | 使用 -opost 选项。 |
| -灯灭 | 使用 opost 选项。 |
| 奇 | 使用 oddp 选项。 |
| -奇数 | 使用 -oddp 选项。 |
| pass8 | 使用 -istrip 选项。 |
| -pass8 | 使用 istrip 选项。 |
| 酶 | 使用 echoprt 选项。 |
| speed | 使用 stty 命令显示当前设置。 |
| 串联 | 使用 ixoff 选项。 |
| 串联 | 使用 -ixoff 选项。 |
示例
- 要显示您的工作站配置的简短列表,请输入:
这将列出与缺省值不同的设置。stty - 要显示您的工作站配置的完整列表,请输入:stty -a
- 要启用停止列表滚动出屏幕的按键顺序,请输入:
这将设置 ixon 模式,从而可以通过按下 Ctrl-S 按键顺序来停止列表的滚动。 ixany 标志允许按任意键来恢复列表的滚动。 正常的工作站配置包含 ixon 和 ixany 标志,使您可以用 Ctrl-S 按键顺序停止列表的滚动,而只有 Ctrl-Q 按键顺序才能使列表重新滚动。stty ixon ixany - 要在配置被破坏后将其重置,请输入:Ctrl-J stty sane Ctrl-J在命令前后按 Ctrl-J 按键顺序,而不是按 Enter 键。 当控制 Enter 键处理的参数搞乱时,系统通常能识别 Ctrl-J 按键顺序。
有时屏幕上显示的信息可能看上去很奇怪,或当您按 Enter 键时系统不反应。 当您使用 stty 命令,而它带有不兼容的参数或参数的操作难以理解时,可能会发生这种情况。 当面向屏幕的应用程序异常结束并且无法复位工作站配置时,也可能发生这种情况。
输入 stty sane 命令设置合理的配置,但它可能与您的正常配置略有不同。
- 要保存和复原终端的配置,请执行以下操作:
该命令保存工作站的配置、关闭回送信号、读取密码并恢复原始配置。OLDCONFIG=`stty -g` # save configuration stty -echo # do not display password echo "Enter password: \c" read PASSWD # get the password stty $OLDCONFIG # restore configuration输入 stty - echo 命令关闭回送信号,这意味着当您在键盘上输入密码时,密码并不出现在屏幕上。 此操作与 echo 命令(该命令在屏幕上显示消息)毫无关系。
文件
| 项 | 描述 |
|---|---|
| / usr / bin / stty | 包含 stty 命令。 |