| STTY(1) | General Commands Manual | STTY(1) |
stty — set options
for a terminal device interface
stty |
[-a | -e |
-g] [-f
file] [operand ...] |
The stty utility sets or reports on
terminal characteristics for the device that is its standard input. If no
options or operands are specified, it reports the settings of a subset of
characteristics as well as additional ones if they differ from their default
values. Otherwise it modifies the terminal state according to the specified
arguments. Some combinations of arguments are mutually exclusive on some
terminal types.
The following options are available:
-a-e-f
fileO_NONBLOCK flag of
open(),
making it possible to set or display settings on a terminal that might
otherwise block on the open.-gstty to restore the current terminal state as per
IEEE Std 1003.2 (“POSIX.2”).The following arguments are available to set the terminal characteristics:
Control mode flags affect hardware characteristics associated with the terminal. This corresponds to the c_cflag of the termios(4) structure.
parenb
(-parenb)parodd
(-parodd)cs5 cs6 cs7
cs8ispeed
numberospeed
numberspeed
numberispeed and
ospeed to number.hupcl
(-hupcl)hup
(-hup)-hupcl).cstopb
(-cstopb)cread
(-cread)clocal
(-clocal)crtscts
(-crtscts)cdtrcts
(-cdtrcts)This corresponds to the c_iflag of the termios(4) structure.
ignbrk
(-ignbrk)brkint
(-brkint)INTR on break.ignpar
(-ignpar)parmrk
(-parmrk)inpck
(-inpck)istrip
(-istrip)inlcr
(-inlcr)NL to CR
on input.igncr
(-igncr)CR on input.icrnl
(-icrnl)CR to NL
on input.ixon
(-ixon)START/STOP output control. Output
from the system is stopped when the system receives
STOP and started when the system receives
START, or if ixany is set,
any character restarts output.ixoff
(-ixoff)START/STOP
characters when the input queue is nearly empty/full.ixany
(-ixany)START) to restart
output.imaxbel
(-imaxbel)MAX_INPUT (currently
255) characters in the input queue. If imaxbel is
set and the input queue limit has been reached, subsequent input causes
the system to send an ASCII BEL character to the output queue (the
terminal beeps at you). Otherwise, if imaxbel is
unset and the input queue is full, the next input character causes the
entire input and output queues to be discarded.This corresponds to the c_oflag of the termios(4) structure.
opost
(-opost)onlcr
(-onlcr)NL to
CR-NL on output.ocrnl
(-ocrnl)CR to NL
on output.oxtabs
(-oxtabs)onocr
(-onocr)onlret
(-onlret)Local mode flags (lflags) affect various and sundry characteristics of terminal processing. Historically the term "local" pertained to new job control features implemented by Jim Kulp on a PDP-11/70 at IIASA. Later the driver ran on the first VAX at Evans Hall, UC Berkeley, where the job control details were greatly modified but the structure definitions and names remained essentially unchanged. The second interpretation of the ‘l’ in lflag is “line discipline flag”, which corresponds to the c_lflag of the termios(4) structure.
isig
(-isig)INTR, QUIT, and
SUSP.icanon
(-icanon)ERASE and
KILL processing).iexten
(-iexten)echo
(-echo)echoe
(-echoe)ERASE character shall (shall not) visually
erase the last character in the current line from the display, if
possible.echok
(-echok)NL after
KILL character.echoke
(-echoke)KILL character shall (shall not) visually
erase the current line from the display, if possible.echonl
(-echonl)NL, even if echo is
disabled.echoctl
(-echoctl)echoctl is set, echo control characters as ^X.
Otherwise control characters echo as themselves.echoprt
(-echoprt)noflsh
(-noflsh)INTR,
QUIT, SUSP.tostop
(-tostop)SIGTTOU for background output.
This causes background jobs to stop if they attempt terminal output.altwerase
(-altwerase)WERASE characters. This alternative algorithm
considers sequences of alphanumeric/underscores as words. It also skips
the first preceding character in its classification (as a convenience
since the one preceding character could have been erased with simply an
ERASE character).mdmbuf
(-mdmbuf)CLOCAL flag).flusho
(-flusho)pendin
(-pendin)_POSIX_VDISABLE}).
Recognized control characters:
| control- | ||
| character | Subscript | Description |
| _________ | _________ | _______________ |
| eof | VEOF | EOF character |
| eol | VEOL | EOL character |
| eol2 | VEOL2 | EOL2 character |
| erase | VERASE | ERASE character |
| werase | VWERASE | WERASE character |
| kill | VKILL | KILL character |
| reprint | VREPRINT | REPRINT character |
| intr | VINTR | INTR character |
| quit | VQUIT | QUIT character |
| susp | VSUSP | SUSP character |
| dsusp | VDSUSP | DSUSP character |
| start | VSTART | START character |
| stop | VSTOP | STOP character |
| lnext | VLNEXT | LNEXT character |
| status | VSTATUS | STATUS character |
| discard | VDISCARD | DISCARD character |
min
numbertime
numberMIN and TIME are used in
Non-Canonical mode input processing (-icanon).-g option.evenp
or parityoddp-parity,
-evenp, -oddpnl
(-nl)ekERASE and KILL
characters back to system defaults.saneinsanettyTTYDISC.crt
(-crt)kerninfo
(-kerninfo)STATUS character (usually set to ^T).
The status line consists of the system load average, the current command
name, its process ID, the event the process is waiting on (or the status
of the process), the user and system times, percent CPU, and current
memory usage.cols
numbercolumns
numbercols.rows
numberdecERASE, KILL, and
INTR characters are set to ^?, ^U, and ^C;
ixany is disabled, and crt
is enabled).extproc
(-extproc)raw
(-raw)RAW bit, it is not possible to intuit what flags
were set prior to setting raw. This means that
unsetting raw may not put back all the setting
that were previously in effect. To set the terminal into a raw state and
then accurately restore it, the following shell code is recommended:
save_state=$(stty -g) stty raw ... stty "$save_state"
sizeThese modes remain for compatibility with the previous version of
the stty utility.
allstty
-a except that the control characters are printed
in a columnar format.everythingall.cookedsane.cbreakbrkint,
ixon, imaxbel,
opost, isig,
iexten, and -icanon. If
unset, same as sane.newtty.oldtty.newcrt
(-newcrt)crt.pass8parity.tandem
(-tandem)ixoff.decctlq
(-decctlq)ixany.crterase
(-crterase)echoe.crtbs
(-crtbs)echoe.crtkill
(-crtkill)echoke.ctlecho
(-ctlecho)echoctl.prterase
(-prterase)echoprt.litout
(-litout)opost.tabs
(-tabs)oxtabs.brk
valueeol.flush
valuediscard.rprnt
valuereprint.These operations are not modes, but rather commands to be performed by the tty layer.
The stty utility exits 0 on
success, and >0 if an error occurs.
The stty utility is expected to be
IEEE Std 1003.2 (“POSIX.2”)
compatible. The -e and -f
flags are extensions to the standard, as are the operands mentioned in the
control operations section.
An stty utility appeared in
Version 2 AT&T UNIX.
| May 14, 2022 | NetBSD 11.0 |