Differences between TTY and PTY in Linux

Source: Internet
Author: User
Tags telnet program
A terminal is a type of terminal device. it has multiple types and generally uses tty for short. Tty is short for Teletype. Teletype is one of the earliest terminal devices, such as a telex typewriter (or), produced by Teletype. On the Li... Terminal
A terminal is a type of terminal device. it has multiple types and generally uses tty for short. Tty is short for Teletype. Teletype is one of the earliest terminal devices, such as a telex typewriter (or), produced by Teletype. In the special file directory/dev/of a Linux system device, there are generally the following types of special device files on the terminal:
 
1. Serial port terminal (/dev/ttySn)
 
The Serial Port Terminal (Serial Port Terminal) is a Terminal device connected by a computer Serial Port. The computer regards each serial port as a character device. For some time, these serial port devices are usually called terminal devices, because at that time they were used to connect terminals. The device names corresponding to these serial ports are/dev/tts/0 (or/dev/ttyS0),/dev/tts/1 (or/dev/ttyS1), etc, the device numbers are (), (), and so on, respectively, corresponding to COM1 and COM2 in the DOS system. To send data to a port, you can redirect the standard output to these special file names on the command line. For example, if you type echo test>/dev/ttyS1 at the command line prompt, the word "test" is sent to the device connected to the ttyS1 (COM2) port.
 
2. pseudo terminal (/dev/pty /)
 
Pseudo Terminal is a pair of logical Terminal devices, for example,/dev/ptyp3 and/dev/ttyp3 (or/dev/pty/m3 and/dev/pty/s3 in the device file system ). They are not directly related to physical devices. If a program regards ttyp3 as a serial port device, its read/write operations on the port will be reflected in another logical terminal device pair (ttyp3 ). Ttyp3 is the logical device used by another program for read/write operations. In this way, two programs can communicate with each other through this logical device, and one of the programs using ttyp3 thinks they are communicating with a serial port. This is like pipeline operations between logical device pairs. For ttyp3 (s3), any program designed to use a serial port device can use this logical device. However, for programs that use ptyp3, a dedicated design is required to use the ptyp3 (m3) logical device. For example, if someone uses a telnet program to connect to your computer online, the telnet program may start to connect to the device ptyp2 (m2) (a pseudo terminal port ). At this time, a getty program should run on the corresponding ttyp2 (s2) port. When telnet obtains a character from the remote end, the character is passed to the getty program through m2 and s2, the getty program returns the "login:" string information to the network through s2, m2, and telnet. In this way, the login program communicates with the telnet program through a "pseudo terminal. By using appropriate software, you can connect two or more pseudo terminal devices to the same physical serial port. Before using the device filesystem, a complicated file name naming method was used to obtain a large number of special files of pseudo terminal devices. Because there are only 16 ttyp (ttyp0-ttypf) device files, to get more logical device pairs, use characters such as q, r, s to replace p. For example, ttys8 and ptys8 are pseudo terminal device pairs. However, this naming method is still used in Linux systems such as RedHat. However, Unix98 on Linux does not use the above method, but uses the "pty master" method, such as/dev/ptm3. Its corresponding end is automatically created as/dev/pts/3. In this way, a pty pseudo terminal can be provided as needed. Directory/dev/pts is a file system of the devpts type and can be seen in the list of loaded file systems. Although "File"/dev/pts/3 seems to be one of the device's file systems, it is actually a completely different file system.
 
3. Control Terminal (/dev/tty)
 
If the current process has a control Terminal (Controlling Terminal),/dev/tty is the device Special file of the control Terminal of the current process. You can run the "ps-ax" command to check which control terminal the process is connected. For the shell you log on to,/dev/tty is the terminal you are using, and the device number is (5, 0 ). Run the "tty" command to check which actual terminal device it corresponds. /Dev/tty is similar to a connection to the actually used terminal device.
 
4. console terminal (/dev/ttyn,/dev/console)
 
In Linux, a computer monitor is usually called a Console ). It simulates a Linux Terminal (TERM = Linux), and some special files of the device are associated with it: tty0, tty1, tty2, and so on. When you log on to the console, tty1 is used. With Alt + [F1-F6] keys, we can switch to tty2, tty3 and so on. Tty1-tty6 is called a virtual terminal, while tty0 is an alias of the currently used virtual terminal. the information generated by the system is sent to the terminal. Therefore, no matter which virtual terminal is being used, the system information will be sent to the console terminal. You can log on to different virtual terminals, so that the system can have several different sessions at the same time. Only the system or super user root can write data to/dev/tty0,
 
5 Virtual Terminal (/dev/pts/n)
A pseudo terminal in Xwindows mode. this is generally enabled if telnet is used for remote logon.
 
6. Other types
 
In Linux, there are many other types of special files on terminal devices for many different character devices. For example,/dev/ttyIn terminal devices for ISDN devices.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.