# A Brief Introduction to termios

DevFeed: [A Brief Introduction to termios](<https://devfeed.tech/articles/a-brief-introduction-to-termios-21892.md>)

Original publisher: [Read original article](<https://blog.nelhage.com/2009/12/a-brief-introduction-to-termios/>)

Author: Nelson Elhage

Published: 2009-12-22T19:11:22Z

Content type: tutorial

Language: en

Sources: [Nelson Elhage](<https://devfeed.tech/sources/nelson-elhage.md>)

Topics: [Unix](<https://devfeed.tech/topics/unix.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [emacs](<https://devfeed.tech/tags/emacs.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [unix](<https://devfeed.tech/tags/unix.md>), [vim](<https://devfeed.tech/tags/vim.md>)

## AI overview

A technical introduction to Unix terminal emulation and the termios interface, explaining terminal behavior, remote input handling, and pseudo-terminals, with a focus on Linux.

## Source excerpt

If you're a regular user of the terminal on a UNIX system, there are probably a large number of behaviors you take mostly for granted without really thinking about them. If you press ^C or ^Z it kills or stops the foreground program - unless it's something like emacs or vim, in which case it gets handled like a normal keystroke. When you ssh to a remote host, though, they go to the processes on that machine, not the ssh process.