stty 命令

用途

设置、复位和报告工作站操作参数。

语法

特蒂 [ - ] [ -g ] [ 选项 ]

描述

stty 命令对当前为标准输入的设备设置某些 I/O 选项。 该命令将输出写入当前为标准输出的设备中。

此版本的操作系统使用标准 X/Open 可移植性指南问题 4 接口来控制终端,从而保持与 POSIX 和 BSD 接口的兼容性。 stty 命令支持 POSIX 和 BSD 的适应选项,但强烈推荐使用 POSIX 选项。 同样提供废弃的 BSD 选项列表(带有对应的 POSIX 选项)。

输入以下命令时,可以将 tty 设备的标准输入重定向:

 stty -a </dev/ttyx

stty 命令(POSIX)将挂起并等待该 tty 的 open(),直到确定 RS-232 载波检测信号。 如果设置了 clocalforcedcd(仅对 128 端口)选项,这个规则将不适用。

标志

描述
-a 将所有选项设置的当前状态写到标准输出。
-g 将选项设置写到标准输出,其格式可以由另一个 stty 命令使用。

选项

stty 命令支持以下选项类别:

控制模式
控制模式 描述
clocal (clocal) 假定一行没有调制解调器控制。
-本地 假定一行带有调制解调器控制。
创建 启用接收器。
-绉 禁用接收器。
cstopb 每个字符选择两个停止位。
-cstopb 每个字符选择一个停止位。
cs5, cs6, cs7, cs8 选择字符大小。
huphupcl 最后关闭时挂起拨号连接。
-hup-hupcl 最后关闭时不挂起拨号连接。
括号 启用奇偶性校验的生成和检测。
-父母 禁用奇偶性校验的生成和检测。
参数 选择奇校验。
-par奇数 选择偶校验。
重大安全事件数量 立即挂起电话线路。
speed 将工作站输入和输出速度设置为指定的 speed 数(以位/秒为单位)。 并不是所有的硬件接口都支持所有的速度。 speed 的可能值有:507511013420030060012001800240048009600 1920019.2 3840038.4exta extb
注: exta1920019.2 是同义词; extb3840038.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 指定从输入数据中无法识别实现性定义的功能。 要识别以下控制字符,需要设置 iexteneol2、dsusp、reprint、discard、werase、lnext。 与这些模式关联的功能也需要设置 iextenimaxbelechokeechoprtechoctl
-iexten 指定从输入数据中无法识别实现性定义的功能。
isig 启用对特殊控制字符(INTR、SUSP 和 QUIT)的字符检查。
-isig 禁用对特殊控制字符(INTR、SUSP 和 QUIT)的字符检查。
noflsh 不清除 INTR、SUSP 或 QUIT 控制字符之后的缓冲区。
-noflsh 清除 INTR、SUSP 或 QUIT 控制字符之后的缓冲区。
暂挂 下次读操作暂挂或输入到达时,要重新输入从原始模式转换为规范模式后被暂挂的输入。 暂挂是一个内部状态位。
-暂挂 没有文本暂挂。
为背景输出发出 SIGTOU 信号。
-停 不为背景输出发出 SIGTOU 信号。
案例 在输入中回送大写字符,并在输出显示的大写字符之前加上 \(反斜杠)。
-案例 不在输入时回送大写字符。

硬件流量控制模式

这些选项是 X/Open 可移植性指南问题 4 标准的扩展。
描述
cdxon 输出时启用 CD 硬件流量控制模式。
-cdxon 输出时禁用 CD 硬件流量控制模式。
ctsxon 输出时启用 CTS 硬件流量控制模式。
-ctsxon 输出时禁用 CTS 硬件流量控制模式。
dtrx关闭 输入时启用 DTR 硬件流量控制模式。
-dtrx关闭 输入时禁用 DTR 硬件流量控制模式。
rtsx关闭 输入时启用 RTS 硬件流量控制模式。
-rtsx关闭 输入时禁用 RTS 硬件流量控制模式。

控制分配

要将一个控制字符指定到某字符串中,请输入:

stty Control String
其中 Control 参数可以是 intr、quit、erase、kill、eof、eol、eol2、start、stop、susp、dsusp、reprint、 discard、werase、lnext、min 或 time 字符。 (使用字符 min 和 time 时,请加上 -icanon 选项。)
注: min 和 time 的值解释为整数值,而不是字符值。

String 参数可以是任何单个字符,例如 c。 此控制分配的一个示例是:

stty stop c

另一种指定控制字符的方法可以是:输入一个字符序列,它是由一个  \^ (反斜杠,插入记号) 后面跟着一个单一字符组成的。 如果跟在 ^ (插入记号)后的单一字符是下表的 ^c(插入记号 c)栏中列出的字符之一,将设置相应的控制字符值。 例如,要使用? 指定 DEL 控制字符 (问号) 字符,输入字符串\^?(反斜杠,插入标记,问号) ,如:

stty erase \^?
stty 中的插入记号控制字符
^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 按键顺序。
事件 启用 parenbcs7
-偶数 禁用 parenb 并设置 cs8
lcaseLCASE 设置 xcaseiuclcolcuc。 在工作站只以大写字符使用。
-lcase-LCASE 设置 -xcase-iuclc-olcuc
nl 设置 -icrnl-onlcr
-nl 设置 icrnlonlcr-inlcr-igncr-ocrnl-onlret
奇数 启用 parenbcs7, 和 par奇数
-奇数 禁用 parenb 并设置 cs8
parity 请参阅 evenp 选项。
-奇偶校验 请参阅 -evenp 选项。
理智 将参数重新设置为合理的值。
原始 允许原始模式输入(不包括输入处理,例如 erase、kill 或 interrupt);传回奇偶(校验)位。
-未经加工的 允许规范输入方式。
制表符 保留制表符。
-tabtab3 显示时将制表符替换为空格。
窗口大小 描述
cols ncolumns n 将终端(窗口)大小记录为有 n 列。
n 将终端(窗口)大小记录为有 n 行。
大小 将终端(窗口)大小显示到标准输出(先是行,再是列)中。

废弃的选项

stty 命令支持以下 BSD 选项。 对于每个选项,都给出了建议的 POSIX 选项。
描述
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 选项。

示例

  1. 要显示您的工作站配置的简短列表,请输入:
    stty
    这将列出与缺省值不同的设置。
  2. 要显示您的工作站配置的完整列表,请输入:
    stty  -a
  3. 要启用停止列表滚动出屏幕的按键顺序,请输入:
    stty ixon ixany
    这将设置 ixon 模式,从而可以通过按下 Ctrl-S 按键顺序来停止列表的滚动。 ixany 标志允许按任意键来恢复列表的滚动。 正常的工作站配置包含 ixonixany 标志,使您可以用 Ctrl-S 按键顺序停止列表的滚动,而只有 Ctrl-Q 按键顺序才能使列表重新滚动。
  4. 要在配置被破坏后将其重置,请输入:
    Ctrl-J stty  sane Ctrl-J
    在命令前后按 Ctrl-J 按键顺序,而不是按 Enter 键。 当控制 Enter 键处理的参数搞乱时,系统通常能识别 Ctrl-J 按键顺序。

    有时屏幕上显示的信息可能看上去很奇怪,或当您按 Enter 键时系统不反应。 当您使用 stty 命令,而它带有不兼容的参数或参数的操作难以理解时,可能会发生这种情况。 当面向屏幕的应用程序异常结束并且无法复位工作站配置时,也可能发生这种情况。

    输入 stty sane 命令设置合理的配置,但它可能与您的正常配置略有不同。

  5. 要保存和复原终端的配置,请执行以下操作:
    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 命令。