「stty(1)」-

修改和打印终端行的设置

命令语法格式

stty [-F DEVICE | –file=DEVICE] [SETTING]…

stty [-F DEVICE | –file=DEVICE] [-a|–all]

stty [-F DEVICE | –file=DEVICE] [-g|–save]

命令描述

打印或更改终端特性。

命令支持的选项及含义

必须提供给长选项的参数也必须提供给对应的短选项。

-a, –all
以可读的形式打印所有当前设置。

-g, –save
以stty能够识别的形式打印所有当前设置。

-F, –file=DEVICE
打开并使用指定的DEVICE,而不是标准输入。

–help
显示帮助信息并退出。

–version
显示版本信息并退出。

下面是所有的设置。在SETTING之前的可选减号(-)表示否定。下面的星号(*)标记了非POSIX设置。底层系统定义了哪些设置是可用的。

处理连接到标准输入的tty线璐。没有参数,打印波特率、线路规则、与stty sane的偏差。在设置中,”CHAR“按字面意思,或编码为^c、0x37、0177、127;特殊值”^-“、”undef“用于禁用特殊字符。

特殊特性

* discard CHAR
在终端输入CHAR字符时,将切换输出丢弃。

eof CHAR
在终端输入CHAR字符时,将发送一个EOF(End Of File)终止输入。

eol CHAR
在终端输入CHAR字符时,将结束该行。

* eol2 CHAR
用于结束该行的备用CHAR。

erase CHAR
在终端输入CHAR字符时,将擦除最后输入的字符。

intr CHAR
在终端输入CHAR字符时,将发送一个中断信号。

kill CHAR
在终端输入CHAR字符时,将擦除当前行。

* lnext CHAR
在终端输入CHAR字符时,将输入下一个字符进行引用。

quit CHAR
在终端输入CHAR字符时,将发送一个退出信号。

* rprnt CHAR
在终端输入CHAR字符时,将重绘当前行。

start CHAR
在终端输入CHAR字符时,将在停止输出后重新输出。

stop CHAR
在终端输入CHAR字符时,将停止输出。

susp CHAR
在终端输入CHAR字符时,将发送终端停止信号。

* swtch CHAR
在终端输入CHAR字符时,将切换到不同的Shell层。

* werase CHAR
在终端输入CHAR字符时,将擦除输入的最后一个单词。

特殊设置

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

* cols N
告诉内核:终端的宽度为N列。

* columns N
等同于cols N。

* [-]drain
在应用设置之前等待传输(默认情况下已启用)。

ispeed N
设置输入数度为N。

* line N
使用行规定N。

min N
与-icanon一起,设置完成读取为最小N个字符。

ospeed N
将输出数度设置为N。

* rows N
告诉内核:终端为N行。

* size
根据内核打印行号和列数。

speed
打印终端速度。

time N
与-icanon一起,设置读取十分之N秒的超时。

控制设置

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

[-]cread
允许接收输入。

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

csN
将字符大小设置为N位。其中,N的范围为[5..8]。

[-]cstopb
每个字符使用两个停止位(其中一个带’-‘)

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

[-]parenb
在输出中生成奇偶校验位,并期望输入中的奇偶校验位。

[-]parodd
设置奇数奇偶校验(或甚至与’-‘的奇偶校验)。

* [-]cmspar
使用“stick”(标记/空格)奇偶校验。

输入设置

[-]brkint
键盘上的Break键将导致中断信号

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

[-]ignbrk
忽略Break字符。

[-]igncr
忽略回车。

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

* [-]imaxbel
发出蜂鸣声,并且不会刷新在字符上的完整输入缓冲区。

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

[-]inpck
启用输入奇偶校验

[-]istrip
清除输入字符的高位(第8位)

* [-]iutf8
假设输入字符是UTF-8编码的。

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

* [-]ixany
让任何字符重启输出,而不仅仅是起始字符。

[-]ixoff
[-]tandem
启用发送开始/停止字符

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

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

输出设置

* bsN
退格延迟风格,参数N在[0..1]之间

* crN
回车延迟风格,参数N在[0..3]之间

* ffN
换页延迟风格,参数N在[0..1]之间

* nlN
换行延迟风格,参数N在[0..1]之间

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

* [-]ofdel
使用删除字符填充,而不是NUL字符。

* [-]ofill
使用填充(填充)字符,而不是延迟时间

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

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

* [-]onlret
换行扮演回车

* [-]onocr
在第一列中不要打印回车

[-]opost
后处理输出

* tabN
水平制表延迟风格,参数N在[0..3]之间

* tabs
等同于tab0

* -tabs
等同于tab3

* vtN
垂直制表延迟风格, 参数N在[0..1]之间

本地设置

[-]crterase
[-]echoe
输出擦除字符作为”退格-空格-退格“

* crtkill
通过遵守echoprt和echoe的设置来杀死所有行。

* -crtkill
通过遵守echoprt和echok的设置来杀死所有行。

* [-]ctlecho
* [-]echoctl
用脱字符号表示法输出控制字符(’^c’)

[-]echo
输出输入字符。

[-]echok
在kill字符后,输出一个换行。

* [-]echoke
等同于[-]crtkill

[-]echonl
即使没有输出其他字符,也会输出换行符

* [-]echoprt
* [-]prterase
在’\’和’/’之间,输出擦除字符。

* [-]extproc
启用”LINEMODE”;适用于高延迟链接。

* [-]flusho
丢弃输出。

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

[-]iexten
启动非POSIX特殊字符。

[-]isig
启用interrupt, quit, suspend特殊字符。

[-]noflsh
在中断和退出特殊字符后后禁用刷新

* [-]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

litout
等同于-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以及将所有的”特殊特性“设置为其默认值。

相关手册

查看在线手册:http://www.gnu.org/software/coreutils/stty

查看info手册:info ‘(coreutils) stty invocation’

参考文献

  • man 1 stty, version GNU coreutils 8.28

更新日志

  • 07/09/2018 创建文章