约 22872 字

约 114 分钟

#Bash 的 stty 命令

stty [OPTION]... [SETTING]...

功能

查看或修改终端配置。

类型

可执行文件(/usr/bin/stty),属于 coreutils。

参数

  • OPTION 选项:
    • -a, --all - 以易于阅读的形式打印所有当前终端设置
    • -g, --save - 以紧凑格式打印所有当前终端设置
    • -F, --file=DEVICE - 指定终端设备
    • --help - 显示帮助
    • --version - 显示版本
  • SETTING - 设置项列表

#设置项说明

特殊字符说明备注
discard CHARCHAR 将切换(开启/关闭)输出丢弃功能非 POSIX 标准
eof CHARCHAR 将发送文件结束符(终止输入)-
eol CHARCHAR 将结束当前行-
eol2 CHAR用于结束行的备用 CHAR非 POSIX 标准
erase CHARCHAR 将删除最后输入的一个字符-
intr CHARCHAR 将发送中断信号-
kill CHARCHAR 将删除当前整行-
lnext CHARCHAR 将以字面值方式输入下一字符(引用输入)非 POSIX 标准
quit CHARCHAR 将发送退出(quit)信号-
rprnt CHARCHAR 将重新绘制当前行非 POSIX 标准
start CHARCHAR 将在停止后恢复输出-
stop CHARCHAR 将停止输出-
susp CHARCHAR 将发送终端挂起(stop)信号-
swtch CHARCHAR 将切换到另一个 shell 层非 POSIX 标准
werase CHARCHAR 将删除上一个单词非 POSIX 标准
特殊设置说明备注
N将输入和输出速度设置为 N 波特率-
cols N告诉内核终端宽度为 N 列非 POSIX 标准
columns N等同于 cols N非 POSIX 标准
[-]drain在应用新设置前等待传输完成(默认启用)非 POSIX 标准
ispeed N将输入速度设置为 N-
line N使用编号为 N 的 line discipline(行规程)非 POSIX 标准
min N在使用 -icanon 时,设置读取完成所需的最少字符数-
ospeed N将输出速度设置为 N-
rows N告诉内核终端高度为 N 行非 POSIX 标准
size打印内核记录的终端行数与列数非 POSIX 标准
speed打印终端当前速度-
time N在使用 -icanon 时,设置读取超时时间(N × 0.1 秒)-
控制设置说明备注
[-]clocal禁用或启用调制解调器控制信号(- 为禁用,默认依系统而定)-
[-]cread允许或禁止接收输入-
[-]crtscts启用或关闭 RTS/CTS 硬件握手流控非 POSIX 标准
csN设置字符位宽为 N 位(N 取值范围 5~8)-
[-]cstopb每个字符使用两个停止位(加 - 时为使用一个停止位)-
[-]hup当最后一个进程关闭 TTY 时发送挂断信号-
[-]hupcl等同于 [-]hup-
[-]parenb输出中生成奇偶校验位,并在输入时要求奇偶校验位-
[-]parodd使用奇校验(加 - 时使用偶校验)-
[-]cmspar使用 "stick" 校验方式(mark/space parity)非 POSIX 标准
输入设置说明备注
[-]brkintbreak 字符会触发中断信号-
[-]icrnl将回车符(CR)转换为换行符(NL)-
[-]ignbrk忽略 break 字符-
[-]igncr忽略回车符(CR)-
[-]ignpar忽略带奇偶校验错误的字符-
[-]imaxbel当输入缓冲区满时发出响铃(不清空缓冲区)非 POSIX 标准
[-]inlcr将换行符(NL)转换为回车符(CR)-
[-]inpck启用输入奇偶校验检查-
[-]istrip清除输入字符的第 8 位(只保留低 7 位)-
[-]iutf8假定输入字符是 UTF-8 编码非 POSIX 标准
[-]iuclc将大写字符转换为小写非 POSIX 标准
[-]ixany输入任意字符都可重新启动输出(不只限 start 字符)非 POSIX 标准
[-]ixoff启用发送 XOFF/XON 的控制字符(软件流控)-
[-]ixon启用接收 XON/XOFF 流控-
[-]parmrk用 255-0-字符 的序列标记奇偶校验错误-
[-]tandem等同于 [-]ixoff-
输出设置说明备注
bsN退格(Backspace)延时样式,N 取值范围 0~1非 POSIX 标准
crN回车(Carriage Return)延时样式,N 取值范围 0~3非 POSIX 标准
ffN换页(Form Feed)延时样式,N 取值范围 0~1非 POSIX 标准
nlN换行(Newline)延时样式,N 取值范围 0~1非 POSIX 标准
[-]ocrnl将回车符(CR)转换为换行符(NL)非 POSIX 标准
[-]ofdel填充字符使用 DEL(0x7F),而不是 NUL(0x00)非 POSIX 标准
[-]ofill使用填充字符(padding)而不是基于时间的延迟非 POSIX 标准
[-]olcuc将小写字母转换为大写字母非 POSIX 标准
[-]onlcr将换行符(NL)转换成回车-换行(CR-NL)非 POSIX 标准
[-]onlret换行符(NL)同时执行回车(CR)动作非 POSIX 标准
[-]onocr在当前列为第一列时不输出回车符(CR)非 POSIX 标准
[-]opost启用或禁用输出后处理-
tabN水平制表符(tab)延时样式,N 取值范围 0~3非 POSIX 标准
tabs等同于 tab0非 POSIX 标准
-tabs等同于 tab3非 POSIX 标准
vtN垂直制表符(vertical tab)延时样式,N 取值范围 0~1非 POSIX 标准
本地设置说明备注
[-]crterase将删除字符以“退格-空格-退格”的方式回显-
crtkill按照 echoprt 和 echoe 的设置删除(kill)整行非 POSIX 标准
-crtkill按照 echoctl 和 echok 的设置删除(kill)整行非 POSIX 标准
[-]ctlecho以帽号表示法(如 ^C)回显控制字符非 POSIX 标准
[-]echo回显输入字符-
[-]echoctl等同于 [-]ctlecho非 POSIX 标准
[-]echoe等同于 [-]crterase-
[-]echok在 kill 字符后回显一个换行符-
[-]echoke等同于 [-]crtkill非 POSIX 标准
[-]echonl即使不回显其他字符,也回显换行符-
[-]echoprt以反向方式回显被删除的字符,并包围在 \ 和 / 之间非 POSIX 标准
[-]extproc启用 LINEMODE(适用于高延迟链接)非 POSIX 标准
[-]flusho丢弃正在输出的数据非 POSIX 标准
[-]icanon启用特殊字符:erase,kill,werase,rprnt-
[-]iexten启用非 POSIX 的扩展特殊字符-
[-]isig启用中断,退出与挂起(suspend)特殊字符-
[-]noflsh禁止在中断或退出字符后刷新缓冲区-
[-]prterase等同于 [-]echoprt非 POSIX 标准
[-]tostop阻止后台任务向终端写入(会发送 SIGTTOU)非 POSIX 标准
[-]xcase在 canonical 模式下,对大写字母加 \ 进行转义非 POSIX 标准
组合设置说明备注
[-]LCASE等同于 [-]lcase非 POSIX 标准
cbreak等同于 -icanon(关闭规范模式,单字符输入)-
-cbreak等同于 icanon(开启规范模式)-
cooked将 brkint ignpar istrip icrnl ixon opost isig icanon eof 和 eol 字符恢复默认值-
-cooked等同于 raw(关闭规范模式并应用 raw 设置)-
crt等同于 echoe echoctl echoke-
dec等同于 echoe echoctl echoke -ixany intr ^C erase 0177 kill ^U-
[-]decctlq等同于 [-]ixany非 POSIX 标准
ek将 erase 和 kill 字符恢复默认值-
evenp等同于 parenb -parodd cs7(偶校验,7 位字符)-
-evenp等同于 -parenb cs8(关闭奇偶校验,8 位字符)-
[-]lcase等同于 xcase iuclc olcuc(小写字母处理相关)非 POSIX 标准
litout等同于 -parenb -istrip -opost cs8-
-litout等同于 parenb istrip opost cs7-
nl等同于 -icrnl -onlcr-
-nl等同于 icrnl -inlcr -igncr onlcr -ocrnl -onlret-
oddp等同于 parenb parodd cs7(奇校验,7 位字符)-
-oddp等同于 -parenb cs8(关闭奇偶校验,8 位字符)-
[-]parity等同于 [-]evenp-
pass8等同于 -parenb -istrip cs8(8 位字符,无奇偶校验)-
-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,以及所有特殊字符恢复默认值-

#示例

$ stty -a       # 易于阅读的终端设置
speed 38400 baud; rows 55; columns 230; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

#推荐阅读

#手册

更新: 2026/1/18

作者: PlanC

创建: 2025/12/5