STTY(1) User Commands STTY(1)

# [NAME](#NAME)

stty - change and print terminal line settings

# [SYNOPSIS](#SYNOPSIS)

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

# [DESCRIPTION](#DESCRIPTION)

Print or change terminal characteristics.

Mandatory arguments to long options are mandatory for short options too.

[**-a, --all**](#a,)

print all current settings in human-readable form

[**-g, --save**](#g,)

print all current settings in a stty-readable form

[**-F, --file=DEVICE**](#F,)

open and use DEVICE instead of standard input

[**--help**](#help)

display this help and exit

[**--version**](#version)

output version information and exit

Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available.

## [Special characters:](#Special_characters:)

\* discard CHAR

CHAR will toggle discarding of output

[eof CHAR](#eof)

CHAR will send an end of file (terminate the input)

[eol CHAR](#eol)

CHAR will end the line

\* eol2 CHAR

alternate CHAR for ending the line

[erase CHAR](#erase)

CHAR will erase the last character typed

[intr CHAR](#intr)

CHAR will send an interrupt signal

[kill CHAR](#kill)

CHAR will erase the current line

\* lnext CHAR

CHAR will enter the next character quoted

[quit CHAR](#quit)

CHAR will send a quit signal

\* rprnt CHAR

CHAR will redraw the current line

[start CHAR](#start)

CHAR will restart the output after stopping it

[stop CHAR](#stop)

CHAR will stop the output

[susp CHAR](#susp)

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:](#Special_settings:)

[N](#N)

set the input and output speeds to N bauds

[cols N](#cols)

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](#ispeed)

set the input speed to N

\* line N

use line discipline N

[min N](#min)

with **-icanon**, set N characters minimum for a completed read

[ospeed N](#ospeed)

set the output speed to N

[rows N](#rows)

tell the kernel that the terminal has N rows

[size](#size)

print the number of rows and columns according to the kernel

[speed](#speed)

print the terminal speed

[time N](#time)

with **-icanon**, set read timeout of N tenths of a second

## [Control settings:](#Control_settings:)

\[-]clocal

disable modem control signals

\[-]cread

allow input to be received

\* \[-]crtscts

enable RTS/CTS handshaking

[csN](#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:](#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)](/man/os/coreutils/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:](#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:](#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:](#Combination_settings:)

\* \[-]LCASE

same as \[-]lcase

[cbreak](#cbreak)

same as **-icanon**

**-cbreak**

same as icanon

[cooked](#cooked)

same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values

**-cooked**

same as raw

[crt](#crt)

same as echoe echoctl echoke

[dec](#dec)

same as echoe echoctl echoke **-ixany** intr ^c erase 0177 kill ^u

\* \[-]decctlq

same as \[-]ixany

[ek](#ek)

erase and kill characters to their default values

[evenp](#evenp)

same as parenb **-parodd** cs7

**-evenp**

same as **-parenb** cs8

\* \[-]lcase

same as xcase iuclc olcuc

[litout](#litout)

same as **-parenb** **-istrip** **-opost** cs8

**-litout**

same as parenb istrip opost cs7

[nl](#nl)

same as **-icrnl** **-onlcr**

**-nl**

same as icrnl **-inlcr** **-igncr** onlcr **-ocrnl** **-onlret**

[oddp](#oddp)

same as parenb parodd cs7

**-oddp**

same as **-parenb** cs8

\[-]parity

same as \[-]evenp

[pass8](#pass8)

same as **-parenb** **-istrip** cs8

**-pass8**

same as parenb istrip cs7

[raw](#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](#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](#AUTHOR)

Written by David MacKenzie.

# [REPORTING BUGS](#REPORTING_BUGS)

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

# [COPYRIGHT](#COPYRIGHT)

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

# [SEE ALSO](#SEE_ALSO)

Full documentation &lt;https://www.gnu.org/software/coreutils/stty&gt;  
or available locally via: info '(coreutils) stty invocation'

October 2026 GNU coreutils 9.12

---

Document: stty(1) from coreutils 9.12-r4 (Chainguard OS)
Source: https://git.savannah.gnu.org/git/coreutils.git
