Rob Hudson wrote:

> Anyone know the history of the various control characters?  Like, why is
> ctrl+z a 'z'?  Does it mean zombie?  Did ctrl+c come from cancel?
> ctrl+d?  Any others?

In chronological order:

The ASCII character set (from the 1960s?) defines ^C as CAN (cancel),
^D as EOT (end of tape), and ^S/^Q as XOFF/XON (transmit off/on).

The original Unix guys, Thompson and Ritchie, picked EOT as the
Unix end of file character.  But early Unices used DEL as the
interrupt character, not ^C.  They also used # as erase and @
as line-kill.  That's because, on a printing terminal, you want an
erase character you can see.  The "literal next" character
was backslash, as it is in most programs from that culture.
Early-mid 1970s.

DEC operating systems used ^C as the interrupt character and ^U for
line-kill.  They also used ^O to flush output.  1970s.

When Bill Joy wrote the "new" tty line discipline for Berkeley Unix,
he added ^^W for word-kill and ^Z and ^Y for job control.  He used DEL
or ^H (backspace) for erase, ^U for line-kill, and ^C for interrupt,
for similarity to DEC OSes.  He also remapped literal-next to ^V.
and introduced ^O to flush output.  Around 1980.

The "new" tty line discipline came about because people were moving
from printing terminals to CRTs.  This is also when and why curses
and termcap came about.

^Z probably has mnemonic value for 'ZZZ', and ^Y is "next to Z".

-- 
Bob Miller                              K<bob>
kbobsoft software consulting
http://kbobsoft.com                     [EMAIL PROTECTED]
_______________________________________________
Eug-LUG mailing list
[EMAIL PROTECTED]
http://mailman.efn.org/cgi-bin/listinfo/eug-lug

Reply via email to