DOKK / manpages / debian 12 / manpages-zh / stty.1.zh_CN
STTY(1) 用户命令 STTY(1)

名称

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

概述

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

描述

输出或变更终端特性。

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

以可读性较好的格式输出全部当前设置
以 stty 可读取的格式输出当前全部设置
打开并使用指定设备代替标准输入
显示此帮助信息并退出
显示版本信息并退出

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

特殊字符:


* discard 字符
字符将开始或停止丢弃输出的内容
字符将发送文件结束字符(用于终止输入)
字符将发送行结束字符
* eol2 字符
另一个行结束字符
字符将擦除上一个输入的字符
字符将发送中断信号 (SIGINT)
字符将擦除当前行
* lnext 字符
字符将给下一个输入的字符加上引号
字符将发送退出信号 (SIGQUIT)
* rprnt 字符
字符将重新绘制当前行
字符将重新开始先前停止的输出
字符将停止输出
字符将发送终端停止信号 (SIGTSTP)
* swtch 字符
字符将切换至不同的 shell 层
* werase 字符
字符将擦除上一个输入的单词

特殊设置:

设置输入和输出速度为 N 波特
* cols N
告知内核此终端有 N 列
* columns N
同 cols N
* [-]drain
应用设置前等待传输完成(默认%s)
设置输入速度为 N
* line N
使用行规则 N
-icanon 同时使用时,设置每次完成读取需要的最小字符数为 N

设置输出速度为 N
* rows N
告知内核此终端有 N 列
* size
根据内核提供的信息,输出此终端的行数和列数
输出终端速度
-icanon 同时使用时,设置读取超时为 N * 0.1 秒

控制设置:

[-]clocal
禁用调制解调器控制信号
[-]cread
允许接收输入
* [-]crtscts
启用 RTS/CTS 握手
将字符大小设置为 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
-icanon
-cbreak
同 icanon
同 brkint ignpar istrip icrnl ixon opost isig icanon 且将 eof 和 eol 字符设为默认值
-cooked
同 raw
同 echoe echoctl echoke
同 echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u
* [-]decctlq
同 [-]ixany
将 erase 和 kill 字符设为默认值
同 parenb -parodd cs7
-evenp
-parenb cs8
* [-]lcase
同 xcase iuclc olcuc
-parenb -istrip -opost cs8
同 parenb istrip opost cs7
-icrnl -onlcr
-nl
同 icrnl -inlcr -igncr onlcr -ocrnl -onlret
同 parenb parodd cs7
-oddp
-parenb cs8
[-]parity
同 [-]evenp
-parenb -istrip cs8
-pass8
同 parenb istrip cs7
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -icanon -opost -isig -iuclc -ixany -imaxbel -xcase min 1 time 0
-raw
同 cooked
同 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'

本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh

2022年9月 GNU coreutils 9.1