Linux Commands Examples

A great documentation place for Linux commands


change and print terminal line settings


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

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!



Bash command substitution not working as expected

The reason that it doesn't work is because stty is executed within a pipe. Therefore it doesn't "see" the underlying terminal. In your script you could store the terminal width in a variable like

size=`stty size | cut -d" " -f2`

and then use that next:

tail $FILE | cut -c -$size


Print or change terminal characteristics.
, --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 the specified DEVICE instead of stdin


display this help and exit


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:
* dsusp CHAR

CHAR will send a terminal stop signal once input flushed

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:


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

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


print the terminal speed

time N

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

Control settings:

disable modem control signals


allow input to be received

* [-]crtscts

enable RTS/CTS handshaking


set character size to N bits, N in [5..8]


use two stop bits per character (one with ’-’)


send a hangup signal when the last process closes the tty


same as [-]hup


generate parity bit in output and expect parity bit in input


set odd parity (or even parity with ’-’)

Input settings:

breaks cause an interrupt signal


translate carriage return to newline


ignore break characters


ignore carriage return


ignore characters with parity errors

* [-]imaxbel

beep and do not flush a full input buffer on a character


translate newline to carriage return


enable input parity checking


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


enable sending of start/stop characters


enable XON/XOFF flow control


mark parity errors (with a 255-0-character sequence)


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 null 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


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:

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 input characters

* [-]echoctl

same as [-]ctlecho


same as [-]crterase


echo a newline after a kill character

* [-]echoke

same as [-]crtkill


echo newline even if not echoing other characters

* [-]echoprt

echo erased characters backward, between ’\’ and ’/’


enable erase, kill, werase, and rprnt special characters


enable non-POSIX special characters


enable interrupt, quit, and suspend special characters


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


same as -icanon


same as icanon


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


same as raw


same as echoe echoctl echoke


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

* [-]decctlq

same as [-]ixany


erase and kill characters to their default values


same as parenb -parodd cs7


same as -parenb cs8

* [-]lcase

same as xcase iuclc olcuc


same as -parenb -istrip -opost cs8


same as parenb istrip opost cs7


same as -icrnl -onlcr


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


same as parenb parodd cs7


same as -parenb cs8


same as [-]evenp


same as -parenb -istrip cs8


same as parenb istrip cs7


same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0


same as cooked


same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel 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, 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.


Copyright © 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

reporting bugs

Report stty bugs to bug-coreutils[:at:]gnu[:dot:]org
GNU coreutils home page: <>
General help using GNU software: <>
Report stty translation bugs to <>

see also

The full documentation for stty is maintained as a Texinfo manual. If the info and stty programs are properly installed at your site, the command

info coreutils 'stty invocation'

should give you access to the complete manual.


Written by David MacKenzie.

How can this site be more helpful to YOU ?

give  feedback