Linux: Terminal Control Sequence Keys

By Xah Lee. Date: . Last updated: .

Many keyboard shortcut conventions in Linux's terminal are from ancient terminal control sequences. For example:

terminal control sequences
keymeaningASCII code
Ctrl+dexit terminalASCII Code 4 “End Of Transmission” (^D).
Ctrl+hbackward deleteASCII Code 8 “Backspace” (^H).
Ctrl+lclear screenASCII Code 12 “Form Feed” (^L).
Ctrl+ccancel/interruptASCII Code 3 “End of Text” (^C).
Ctrl+zsuspendASCII Code 26 “Substitute” (^Z). [see Linux: Job Control]

[see ASCII Characters]

Also, in classic terminal emulator such as xterm or Linux: Virtual Terminal , pressing Ctrl+s freezes the terminal. [see Linux: Ctrl+s Freeze vim]

This is also why, in emacs, sometimes you see ^L and ^M. Those are all representation of ASCII code.


For detail, see info stty. You can type stty -a to list all control sequences. Sample output:

◆ stty -a
speed 38400 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = <undef>; kill = <undef>; eof = ^D; eol = <undef>; eol2 = <undef>;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -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

Unicode ASCII Character Symbols

Linux Terminal