What is tty in linux

Last updated: April 1, 2026

Quick Answer: In Linux, TTY is a terminal device file that represents a text-based interface allowing users to input commands and receive system output through a command-line shell.

Key Facts

Linux TTY Overview

In Linux systems, a TTY is a special character device file that provides a text-oriented interface for user interaction with the operating system. These devices manage input from keyboards and output to displays, serving as the foundational layer for command-line shells and terminal applications. Linux maintains TTY support as a core component of its Unix heritage.

TTY Device Files

Linux stores TTY device files in the /dev directory, following the naming convention /dev/tty*. Physical TTYs might be represented as /dev/ttyS0 for serial terminals, while virtual TTYs are typically named /dev/tty1 through /dev/tty6 for virtual consoles. Pseudo-terminals used by terminal emulators are located at /dev/pts/0, /dev/pts/1, and so on.

Types of Linux TTYs

Virtual Consoles (VCs) are text-based login environments accessible by pressing Ctrl+Alt+F1 through F6 on most Linux systems. Pseudo-terminals (PTY) are created by terminal emulator applications and SSH connections, enabling graphical terminal windows. Serial TTYs provide connections to physical serial ports, commonly used for system administration and embedded system communication.

Working with TTYs

Users can discover their current terminal device using the tty command, which outputs the path of the controlling terminal. The who command displays all logged-in users and their associated TTY devices. System administrators use stty to configure TTY behavior, controlling parameters like baud rate, character size, and echo settings. TTY information is also available through /proc/devices and /proc/tty directories.

TTY Management

Linux kernels manage TTYs through the TTY subsystem, which handles line discipline, signal processing, and terminal control. The line discipline layer processes input sequences like Ctrl+C for interrupt signals and Ctrl+Z for job suspension. This allows shells and applications to respond to standard terminal commands consistently.

Related Questions

How do I check which TTY I'm using in Linux?

Use the 'tty' command in your terminal to display the path of your current TTY device. This will show something like /dev/pts/0 for terminal emulators or /dev/tty1 for virtual consoles.

What is the difference between /dev/tty and /dev/pts in Linux?

/dev/tty represents the controlling terminal for a process, while /dev/pts are pseudo-terminal slave devices created for terminal emulators and remote SSH sessions.

Can I have multiple Linux TTYs running simultaneously?

Yes, Linux supports multiple TTYs simultaneously through virtual consoles (Ctrl+Alt+F1-F6), multiple terminal emulator windows, and separate SSH connections, each with its own TTY device.

Sources

  1. Wikipedia - tty (Unix) CC-BY-SA-4.0
  2. Linux Kernel TTY Documentation GPL-2.0