STTY(1)

๐Ÿ‘‘ stty(1) โ€” aka "bestie, your terminal has FEELINGS and here's how to talk to it"

User Commands energy, section 1 of the manual. Yes bestie, this is stty, and it's about to become your new obsession. ๐Ÿ’…


โœจ NAME โœจ

stty โ€” change and print terminal line settings

Like, it literally pokes at how your terminal behaves. Groundbreaking. Iconic. ๐ŸŽ€


๐ŸŒธ SYNOPSIS ๐ŸŒธ

stty [-F DEVICE | --file=DEVICE] [SETTING]...
stty [-F DEVICE | --file=DEVICE] [-a|--all]
stty [-F DEVICE | --file=DEVICE] [-g|--save]

Three whole moods, okay? ๐Ÿฆ‹


๐Ÿ’– DESCRIPTION ๐Ÿ’–

Print or change terminal characteristics. That's the whole gig. ๐Ÿ’…

Mandatory arguments to long options are mandatory for short options too. (Read that twice, it matters.)

๐ŸŽ€ OPTIONS ๐ŸŽ€

  • -a, --all โ€” print all current settings in human-readable form
  • -g, --save โ€” print all current settings in a stty-readable form
  • -F, --file=DEVICE โ€” open and use DEVICE instead of standard input
  • --help โ€” display this help and exit
  • --version โ€” output version information and exit
Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. So like, your mileage may vary based on your system's vibe check. ๐Ÿ™ˆ

๐ŸŒˆ Special characters:

  • * discard CHAR โ€” CHAR will toggle discarding of output
  • eof CHAR โ€” CHAR will send an end of file (terminate the input)
  • eol CHAR โ€” CHAR will end the line
  • * eol2 CHAR โ€” alternate CHAR for ending the line
  • erase CHAR โ€” CHAR will erase the last character typed
  • intr CHAR โ€” CHAR will send an interrupt signal
  • kill CHAR โ€” CHAR will erase the current line
  • * lnext CHAR โ€” CHAR will enter the next character quoted
  • quit CHAR โ€” CHAR will send a quit signal
  • * rprnt CHAR โ€” CHAR will redraw the current line
  • start CHAR โ€” CHAR will restart the output after stopping it
  • stop CHAR โ€” CHAR will stop the output
  • susp CHAR โ€” CHAR will send a terminal stop signal
  • * swtch CHAR โ€” CHAR will switch to a different shell layer
  • * werase CHAR โ€” CHAR will erase the last word typed

๐Ÿงš Special settings:

  • N โ€” set the input and output speeds to N bauds
  • cols N โ€” tell the kernel that the terminal has N columns
  • * columns N โ€” same as cols N
  • * [-]drain โ€” wait for transmission before applying settings (on by default)
  • ispeed N โ€” set the input speed to N
  • * line N โ€” use line discipline N
  • min N โ€” with -icanon, set N characters minimum for a completed read
  • ospeed N โ€” set the output speed to N
  • rows N โ€” tell the kernel that the terminal has N rows
  • size โ€” print the number of rows and columns according to the kernel
  • speed โ€” print the terminal speed
  • time N โ€” with -icanon, set read timeout of N tenths of a second

๐Ÿ’œ Control settings:

  • [-]clocal โ€” disable modem control signals
  • [-]cread โ€” allow input to be received
  • * [-]crtscts โ€” enable RTS/CTS handshaking
  • csN โ€” set character size to N bits, N in [5..8]
  • [-]cstopb โ€” use two stop bits per character (one with -)
  • [-]hup โ€” send a hangup signal when the last process closes the tty
  • [-]hupcl โ€” same as [-]hup
  • [-]parenb โ€” generate parity bit in output and expect parity bit in input
  • [-]parodd โ€” set odd parity (or even parity with -)
  • * [-]cmspar โ€” use "stick" (mark/space) parity

๐Ÿฆ‹ Input settings:

  • [-]brkint โ€” breaks cause an interrupt signal
  • [-]icrnl โ€” translate carriage return to newline
  • [-]ignbrk โ€” ignore break characters
  • [-]igncr โ€” ignore carriage return
  • [-]ignpar โ€” ignore characters with parity errors
  • * [-]imaxbel โ€” beep and do not flush a full input buffer on a character
  • [-]inlcr โ€” translate newline to carriage return
  • [-]inpck โ€” enable input parity checking
  • [-]istrip โ€” clear high (8th) bit of input characters
  • * [-]iutf8 โ€” assume input characters are UTF-8 encoded
  • * [-]iuclc โ€” translate uppercase characters to lowercase
  • * [-]ixany โ€” let any character restart output, not only start character
  • [-]ixoff โ€” enable sending of start/stop characters
  • [-]ixon โ€” enable XON/XOFF flow control
  • [-]parmrk โ€” mark parity errors (with a 255-0-character sequence)
  • [-]tandem โ€” same as [-]ixoff

โญ Output settings:

  • * bsN โ€” backspace delay style, N in [0..1]
  • * crN โ€” carriage return delay style, N in [0..3]
  • * ffN โ€” form feed delay style, N in [0..1]
  • * nlN โ€” newline delay style, N in [0..1]
  • * [-]ocrnl โ€” translate carriage return to newline
  • * [-]ofdel โ€” use delete characters for fill instead of NUL characters
  • * [-]ofill โ€” use fill (padding) characters instead of timing for delays
  • * [-]olcuc โ€” translate lowercase characters to uppercase
  • * [-]onlcr โ€” translate newline to carriage return-newline
  • * [-]onlret โ€” newline performs a carriage return
  • * [-]onocr โ€” do not print carriage returns in the first column
  • [-]opost โ€” postprocess output
  • * tabN โ€” horizontal tab delay style, N in [0..3]
  • * tabs โ€” same as tab0
  • * -tabs โ€” same as tab3
  • * vtN โ€” vertical tab delay style, N in [0..1]

๐Ÿ“ Local settings:

  • [-]crterase โ€” echo erase characters as backspace-space-backspace
  • * crtkill โ€” kill all line by obeying the echoprt and echoe settings
  • * -crtkill โ€” kill all line by obeying the echoctl and echok settings
  • * [-]ctlecho โ€” echo control characters in hat notation ('^c')
  • [-]echo โ€” echo input characters
  • * [-]echoctl โ€” same as [-]ctlecho
  • [-]echoe โ€” same as [-]crterase
  • [-]echok โ€” echo a newline after a kill character
  • * [-]echoke โ€” same as [-]crtkill
  • [-]echonl โ€” echo newline even if not echoing other characters
  • * [-]echoprt โ€” echo erased characters backward, between '\' and '/'
  • * [-]extproc โ€” enable "LINEMODE"; useful with high latency links
  • * [-]flusho โ€” discard output
  • [-]icanon โ€” enable special characters: erase, kill, werase, rprnt
  • [-]iexten โ€” enable non-POSIX special characters
  • [-]isig โ€” enable interrupt, quit, and suspend special characters
  • [-]noflsh โ€” disable flushing after interrupt and quit special characters
  • * [-]prterase โ€” same as [-]echoprt
  • * [-]tostop โ€” stop background jobs that try to write to the terminal
  • * [-]xcase โ€” with icanon, escape with '\' for uppercase characters

๐ŸŽ€ Combination settings:

  • * [-]LCASE โ€” same as [-]lcase
  • cbreak โ€” same as -icanon
  • -cbreak โ€” same as icanon
  • cooked โ€” same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values
  • -cooked โ€” same as raw
  • crt โ€” same as echoe echoctl echoke
  • dec โ€” same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u
  • * [-]decctlq โ€” same as [-]ixany
  • ek โ€” erase and kill characters to their default values
  • evenp โ€” same as parenb -parodd cs7
  • -evenp โ€” same as -parenb cs8
  • * [-]lcase โ€” same as xcase iuclc olcuc
  • litout โ€” same as -parenb -istrip -opost cs8
  • -litout โ€” same as parenb istrip opost cs7
  • nl โ€” same as -icrnl -onlcr
  • -nl โ€” same as icrnl -inlcr -igncr onlcr -ocrnl -onlret
  • oddp โ€” same as parenb parodd cs7
  • -oddp โ€” same as -parenb cs8
  • [-]parity โ€” same as [-]evenp
  • pass8 โ€” same as -parenb -istrip cs8
  • -pass8 โ€” same as parenb istrip cs7
  • raw โ€” same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -icanon -opost -isig -iuclc -ixany -imaxbel -xcase min 1 time 0
  • -raw โ€” same as cooked
  • sane โ€” same as 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, all special characters to their default values

Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. ๐Ÿซถ


๐Ÿ’… AUTHOR ๐Ÿ’…

Written by David MacKenzie. King behavior honestly. ๐Ÿ‘‘


๐Ÿ˜ญ REPORTING BUGS ๐Ÿ˜ญ

Report bugs to: <bug-coreutils@gnu.org>. Report any translation bugs to: <https://translationproject.org/team/>. GNU coreutils home page: <https://www.gnu.org/software/coreutils/> General help using GNU software: <https://www.gnu.org/gethelp/>

(ngl if you find a bug, tell them, don't just suffer in silence bestie ๐Ÿ’€)


Copyright ยฉ 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

There is NO WARRANTY. Like, at all. Read it again. It's giving "you're on your own, babe." ๐Ÿ˜ญ

๐Ÿฆ‹ SEE ALSO ๐Ÿฆ‹

Full documentation <https://www.gnu.org/software/coreutils/stty> or available locally via: info '(coreutils) stty invocation'


And that's the whole page, bestie โ€” this was GNU coreutils 9.12, dated September 2026, page STTY(1), and you ate it. โœจ Go forth and reconfigure your tty like the main character you are. ๐Ÿ’–๐Ÿฆ‹๐ŸŽ€

๐Ÿ“ฆ where this page comes from