Linux: Terminal Control Sequence Keys
Many keyboard shortcut conventions in Linux's terminal are from ancient terminal control sequences. For example:
key | meaning | ASCII code |
---|---|---|
Ctrl+d | exit terminal | ASCII Code 4 “End Of Transmission” (^D ). |
Ctrl+h | backward delete | ASCII Code 8 “Backspace” (^H ). |
Ctrl+l | clear screen | ASCII Code 12 “Form Feed” (^L ). |
Ctrl+c | cancel/interrupt | ASCII Code 3 “End of Text” (^C ). |
Ctrl+z | suspend | ASCII 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.
See:
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 -iutf8 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