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
