What does tty mean in linux
tty in Linux is the abbreviation of "Teletype", which is a terminal device composed of virtual console, serial port and pseudo terminal device; tty is also a Unix command, used to give the name of the current terminal device, or Use tty to refer to various types of terminal devices.
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
What does tty mean in linux
The terminal is a character-type device. It has many types. tty is usually used to refer to each one for short. types of terminal equipment. tty is the abbreviation of Teletype. Teletype is one of the earliest terminal devices that appeared, much like a teletypewriter (or ), and was produced by Teletype Company. The device name is placed in the special file directory /dev/. The terminal special device files generally include the following:
1. Serial port terminal (/dev/ttySn)
Serial Port Terminal is a terminal device connected using a computer serial port. The computer treats each serial port as a character device. For a time these serial port devices were often called terminal devices because their primary use at that time was for connecting to terminals. The device names corresponding to these serial ports are /dev/tts/0 (or /dev/ttyS0), /dev/tts/1 (or /dev /ttyS1), etc., and the device numbers are (4,0), ( 4,1), etc., respectively corresponding to COM1, COM2, etc. under the DOS system. To send data to a port, you can redirect standard output to these special file names on the command line. For example, typing at the command line prompt: echo test > /dev/ttyS1 will send the word "test" to the device connected to the ttyS1 (COM2) port.
2. Pseudo terminal (/dev/pty/)
Pseudo Terminal (Pseudo Terminal) is a pair of logical terminal devices, such as /dev/ptyp3 and / dev/ttyp3 (or /dev/pty/m3 and /dev/pty/s3 respectively in the device file system). They are not directly related to actual physical devices. If a program sees ttyp3 as a serial port device, its read/write operations on that port will be reflected on the other logical terminal device pair (ttyp3). ttyp3 is a logical device used by another program for read and write operations. In this way, two programs can communicate with each other through this logical device, and one of the programs using ttyp3 thinks it is communicating with a serial port. This is much like a pipe operation between pairs of logical devices.
For ttyp3 (s3), any program designed to use a serial port device can use this logical device. But for programs that use ptyp3, they need to be specially designed to use ptyp3 (m3) logical devices.
For example, if someone uses the telnet program to connect to your computer on the Internet, the telnet program may start connecting to the device ptyp2 (m2) (a pseudo terminal port). At this time, a getty program should be running on the corresponding ttyp2 (s2) port. When telnet obtains a character from the remote end, the character will be passed to the getty program through m2 and s2, and the getty program will return the "login:" string information to the network through s2, m2 and the telnet program. In this way, the login program and the telnet program communicate through the "pseudo terminal". By using appropriate software, it is possible to connect two or even more pseudo-terminal devices to the same physical serial port.
Before using the device file system, in order to obtain a large number of special files for pseudo-terminal devices, HP-UX AIX and others used a more complex file naming method.
3. Control terminal (/dev/tty)
If the current process has a controlling terminal (Controlling Terminal), then /dev/tty is the control of the current process Device special files for the terminal. You can use the command "ps -ax" to see which control terminal the process is connected to. For the shell you log in to, /dev/tty is the terminal you use, and the device number is (5,0). Use the command "tty" to see which actual terminal device it corresponds to. /dev/tty is somewhat similar to a connection to the actual terminal device used.
4. Console terminal (/dev/ttyn, /dev/console)
In UNIX systems, the computer monitor is usually called the console terminal (Console ). It emulates a terminal of type Linux (TERM=Linux), and has some device special files associated with it: tty0, tty1, tty2, etc. When you log in at the console, tty1 is used. When using the Alt [F1-F6] key combination, we can switch to tty2, tty3, etc. tty1-tty6 and so on are called virtual terminals, and tty0 is an alias of the currently used virtual terminal, and the information generated by the system will be sent to this terminal. Therefore, system information will be sent to the console terminal regardless of which virtual terminal is currently in use.
You can log in to different virtual terminals, so the system can have several different sessions at the same time. Only the system or super user root can write to /dev/tty0,
5. Other types
There are also many other types of terminal device special files for many different character devices. For example, /dev/ttyIn terminal device for ISDN equipment, etc. I won’t go into details here.
Related recommendations: "Linux Video Tutorial"
The above is the detailed content of What does tty mean in linux. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



To open a web.xml file, you can use the following methods: Use a text editor (such as Notepad or TextEdit) to edit commands using an integrated development environment (such as Eclipse or NetBeans) (Windows: notepad web.xml; Mac/Linux: open -a TextEdit web.xml)

Multithreading in the language can greatly improve program efficiency. There are four main ways to implement multithreading in C language: Create independent processes: Create multiple independently running processes, each process has its own memory space. Pseudo-multithreading: Create multiple execution streams in a process that share the same memory space and execute alternately. Multi-threaded library: Use multi-threaded libraries such as pthreads to create and manage threads, providing rich thread operation functions. Coroutine: A lightweight multi-threaded implementation that divides tasks into small subtasks and executes them in turn.

Linux is best used as server management, embedded systems and desktop environments. 1) In server management, Linux is used to host websites, databases, and applications, providing stability and reliability. 2) In embedded systems, Linux is widely used in smart home and automotive electronic systems because of its flexibility and stability. 3) In the desktop environment, Linux provides rich applications and efficient performance.

DebianLinux is known for its stability and security and is widely used in server, development and desktop environments. While there is currently a lack of official instructions on direct compatibility with Debian and Hadoop, this article will guide you on how to deploy Hadoop on your Debian system. Debian system requirements: Before starting Hadoop configuration, please make sure that your Debian system meets the minimum operating requirements of Hadoop, which includes installing the necessary Java Runtime Environment (JRE) and Hadoop packages. Hadoop deployment steps: Download and unzip Hadoop: Download the Hadoop version you need from the official ApacheHadoop website and solve it

Do I need to install an Oracle client when connecting to an Oracle database using Go? When developing in Go, connecting to Oracle databases is a common requirement...

"DebianStrings" is not a standard term, and its specific meaning is still unclear. This article cannot directly comment on its browser compatibility. However, if "DebianStrings" refers to a web application running on a Debian system, its browser compatibility depends on the technical architecture of the application itself. Most modern web applications are committed to cross-browser compatibility. This relies on following web standards and using well-compatible front-end technologies (such as HTML, CSS, JavaScript) and back-end technologies (such as PHP, Python, Node.js, etc.). To ensure that the application is compatible with multiple browsers, developers often need to conduct cross-browser testing and use responsiveness

I developed a project called Lua-Libuv and am happy to share my experience. The original intention of the project is to explore how to use Libuv (an asynchronous I/O library written in C) to build a simple HTTP server without having to learn the C language in depth. With the help of ChatGPT, I completed the basic code of HTTP.C. When dealing with persistent connections, I successfully implemented closing the connection and freeing resources at the right time. At first I tried to create a simple server that ended the main program by closing the connection, but I had some problems. I've tried sending blocks of data using streaming, and while it works, this blocks the main thread. In the end, I decided to give up on this approach because my goal was not to learn C language in depth. Finally, I

The main reasons why you cannot log in to MySQL as root are permission problems, configuration file errors, password inconsistent, socket file problems, or firewall interception. The solution includes: check whether the bind-address parameter in the configuration file is configured correctly. Check whether the root user permissions have been modified or deleted and reset. Verify that the password is accurate, including case and special characters. Check socket file permission settings and paths. Check that the firewall blocks connections to the MySQL server.
