STTY(1)

名称
stty - 更改并输出终端行设置

概述
stty [-F 设备 | --file=设备] [设置]...
stty [-F 设备 | --file=设备] [-a|--all]
stty [-F 设备 | --file=设备] [-g|--save]

描述

输出或变更终端特性。

必选参数对长短选项同时适用。

-a, --all
    以可读性较好的格式输出全部当前设置

-g, --save
    以 stty 可读取的格式输出当前全部设置

-F, --file=设备
    打开并使用指定设备代替标准输入

--help
    显示此帮助信息并退出

--version
    显示版本信息并退出

设置字符串可以添加 "-" 前缀，表示禁用该项设置。下文中的 * 表示这项设置不属于 POSIX 标准。各项设置是否可用取决于底层的系统。

  特殊字符：

* discard 字符
    字符将开始或停止丢弃输出的内容

eof 字符
    字符将发送文件结束字符（用于终止输入）

eol 字符
    字符将发送行结束字符

* eol2 字符
    另一个行结束字符

erase 字符
    字符将擦除上一个输入的字符

intr 字符
    字符将发送中断信号 (SIGINT)

kill 字符
    字符将擦除当前行

* lnext 字符
    字符将给下一个输入的字符加上引号

quit 字符
    字符将发送退出信号 (SIGQUIT)

* rprnt 字符
    字符将重新绘制当前行

start 字符
    字符将重新开始先前停止的输出

stop 字符
    字符将停止输出

susp 字符
    字符将发送终端停止信号 (SIGTSTP)

* swtch 字符
    字符将切换至不同的 shell 层

* werase 字符
    字符将擦除上一个输入的单词

  特殊设置：

N   设置输入和输出速度为 N 波特

* cols N
    告知内核此终端有 N 列

* columns N
    同 cols N

* [-]drain
    应用设置前等待传输完成（默认%s）

ispeed N
    设置输入速度为 N

* line N
    使用行规则 N

min N
    和 -icanon 同时使用时，设置每次完成读取需要的最小字符数为 N

ospeed N
     设置输出速度为 N

* rows N
    告知内核此终端有 N 列

* size
    根据内核提供的信息，输出此终端的行数和列数

speed
    输出终端速度

time N
    和 -icanon 同时使用时，设置读取超时为 N * 0.1 秒

  控制设置：

[-]clocal
    禁用调制解调器控制信号

[-]cread
    允许接收输入

* [-]crtscts
    启用 RTS/CTS 握手

csN 将字符大小设置为 N 比特，N 取值在 [5..8] 之间

[-]cstopb
    每个字符使用 2 位停止位（若带 "-"，则使用 1 位停止位)

[-]hup
    当最后一个进程关闭 tty 时，发送挂断信号 (SIGHUP)

[-]hupcl
    同 [-]hup

[-]parenb
    在输出中生成奇偶校验位，并要求输入包含奇偶校验位

[-]parodd
    设置奇校验位（若带 "-"，则设置偶校验位）

* [-]cmspar
    使用 "粘滞" 奇偶校验位 (mark/space parity)

  输入设置：

[-]brkint
    中断字符会触发中断信号 (SIGINT)

[-]icrnl
    将回车转换为换行符

[-]ignbrk
    忽略中断字符

[-]igncr
    忽略回车

[-]ignpar
    忽略奇偶校验错误的字符

* [-]imaxbel
    当输入缓冲区已满时，输入字符时响铃，而不排空输入缓冲区

[-]inlcr
    将换行转换为回车

将换行转换为回车
    对输入启用奇偶校验

[-]istrip
    将输入字符的最高位（第 8 位）置 0

* [-]iutf8
    假定输入字符编码为 UTF-8

* [-]iuclc
    将大写字符转换为小写

* [-]ixany
    使任意字符都能重新开始输出，而非只有 "start 字符" 指定的字符

[-]ixoff
    启用 "start 字符" 和 "stop 字符" 的发送

[-]ixon
    启用 XON/XOFF 流控制

[-]parmrk
    标记奇偶校验错误（使用 255-0-字符 序列）

[-]tandem
    同 [-]ixoff

  输出设置：

* bsN
    退格延迟风格，N 取值在 [0..1] 之间

* crN
    回车延迟风格，N 取值在 [0..3] 之间

* ffN
    换页延迟风格，N 取值在 [0..1] 之间

* nlN
    换行延迟风格，N 取值在 [0..1] 之间

* [-]ocrnl
    将回车转换为换行符

* [-]ofdel
    使用 DEL 字符而非 NUL 字符作为填充字符

* [-]ofill
    使用填充字符而非时间作为延迟

* [-]olcuc
    将小写字符转换为大写

* [-]onlcr
    将换行转换为回车-换行

* [-]onlret
    换行将执行回车操作

* [-]onocr
    不要在第一列输出回车

[-]opost
    对输出进行后处理

* tabN
    水平制表符延迟风格，N 取值在 [0..3] 之间

* tabs
    同 tab0

* -tabs
    同 tab3

* vtN
    垂直制表符延迟风格，N 取值在 [0..1] 之间

  本地设置：

[-]crterase
    将 "erase 字符" 回显为退格-空格-退格

* crtkill
    依照 echoprt 和 echoe 的设置擦除所有行

* -crtkill
    依照 echoctl 和 echok 的设置擦除所有行

* [-]ctlecho
    将控制字符按照帽子表示法进行回显（如 "^c"）

[-]echo
    对输入字符进行回显

* [-]echoctl
    同 [-]ctlecho

[-]echoe
    同 [-]crterase

[-]echok
    在 "kill 字符" 后回显换行

* [-]echoke
    同 [-]crtkill

[-]echonl
    即使没有回显其他字符，也回显换行

* [-]echoprt
    反向回显被擦除的字符，并置于 '\' 和 "/" 之间

* [-]extproc
    启用 "行模式" (LINEMODE)；在高延迟连接下有用

* [-]flusho
    丢弃输出

[-]icanon
    启用特殊字符：erase, kill, werase, rprnt

[-]iexten
    启用非 POSIX 特殊字符

[-]isig
    启用特殊字符中的 intr、quit 和 susp 字符

[-]noflsh
    在收到 intr 和 quit 特殊字符后禁止排空缓冲区

* [-]prterase
    同 [-]echoprt

* [-]tostop
    停止试图写入终端的后台任务

* [-]xcase
    和 icanon 同时使用时，支持用 '\' 转义序列表示大写字符

  组合设置：

* [-]LCASE
    同 [-]lcase

cbreak
    同 -icanon

-cbreak
    同 icanon

cooked
    同 brkint ignpar istrip icrnl ixon opost isig icanon 且将 eof 和 eol 字符设为默认值

-cooked
    同 raw

crt 同 echoe echoctl echoke

dec 同 echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u

* [-]decctlq
    同 [-]ixany

ek  将 erase 和 kill 字符设为默认值

evenp
    同 parenb -parodd cs7

-evenp
    同 -parenb cs8

* [-]lcase
    同 xcase iuclc olcuc

xcase iuclc olcuc
    同 -parenb -istrip -opost cs8

-litout
    同 parenb istrip opost cs7

nl  同 -icrnl -onlcr

-nl 同 icrnl -inlcr -igncr onlcr -ocrnl -onlret

oddp
    同 parenb parodd cs7

-oddp
    同 -parenb cs8

[-]parity
    同 [-]evenp

pass8
    同 -parenb -istrip cs8

-pass8
    同 parenb istrip cs7

raw 同 -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -icanon -opost -isig -iuclc -ixany -imaxbel -xcase min 1 time 0

-raw
    同 cooked

sane
    同 cread -ignbrk brkint -inlcr -igncr icrnl icanon iexten echo echoe echok -echonl -noflsh -ixoff -iutf8 -iuclc -ixany imaxbel -xcase -olcuc -ocrnl opost -ofill onlcr -onocr -onlret nl0 cr0 tab0 bs0 vt0 ff0 isig -tostop -ofdel -echoprt echoctl echoke -extproc -flusho，并将所有特殊字符都设为默认值

处理连接到标准输入的 tty 行设置。不带参数时，程序会输出波特率、行规则以及与标准 stty 设置不同的设置。在设置中，字符可以直接输入，或者使用形如 ^c、0x37、0177 或 127 的格式进行表示；可使用特殊值 ^- 或 undef 禁用特殊字符。

作者
由 David MacKenzie 编写。

报告错误
GNU coreutils 的在线帮助： <https://www.gnu.org/software/coreutils/>
请向 <https://translationproject.org/team/zh_CN.html> 报告翻译错误。

版权
Copyright © 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
本软件是自由软件：您可以自由修改和重新发布它。在法律允许的范围内，不提供任何保证。

参见
完整文档请见： <https://www.gnu.org/software/coreutils/stty>
或者在本地使用： info '(coreutils) stty invocation'