What is tty in linux
Last updated: April 1, 2026
Key Facts
- Linux TTY devices are represented as special files in /dev/tty* directories
- TTYs in Linux include virtual consoles, pseudo-terminals, and serial terminals
- The 'tty' command in Linux displays which terminal device a user is currently using
- Linux TTYs support both line-buffered and raw input modes for different applications
- Virtual TTYs in Linux can be created dynamically for terminal emulators and remote sessions
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.
More What Is in Daily Life
Also in Daily Life
More "What Is" Questions
Trending on WhatAnswers
Browse by Topic
Browse by Question Type
Sources
- Wikipedia - tty (Unix)CC-BY-SA-4.0
- Linux Kernel TTY DocumentationGPL-2.0