Linux TTY(Teletypewriter)概念;虚拟终端伪终端pty(pseudo |
您所在的位置:网站首页 › 什么叫终端输入设备 › Linux TTY(Teletypewriter)概念;虚拟终端伪终端pty(pseudo |
文章目录
tty是什么?为什么要了解tty?有哪些linux命令涉及到tty?关于伪终端pty(pseudo terminal)pty包含ptmx和pts(主设备和从设备)
![]() TTY(Teletypewriter)是一种早期的终端设备,用于与计算机进行通信。TTY最早出现在20世纪60年代,当时计算机主要通过电传打字机与用户进行交互。TTY设备由一个键盘和一个打印机组成,用户通过键盘输入命令,计算机将结果打印在打印机上。 随着计算机技术的发展,TTY设备逐渐演变成了终端设备。终端设备是一种通过串行接口与计算机连接的设备,可以显示计算机的输出结果,并将用户的输入传递给计算机。终端设备通常具有屏幕和键盘,用户可以通过键盘输入命令,计算机将结果显示在屏幕上。 在UNIX系统中,TTY是一个重要的概念。在早期的UNIX系统中,TTY是指与计算机进行通信的设备。每个TTY设备都有一个对应的设备文件,例如/dev/tty1表示第一个TTY设备。用户可以通过TTY设备与计算机进行交互,输入命令并查看输出结果。 随着计算机技术的进步,TTY设备逐渐被图形界面取代。图形界面提供了更直观、易用的用户界面,用户可以通过鼠标和图形界面进行交互。然而,TTY仍然被广泛使用,特别是在服务器环境中。在服务器上,TTY设备可以通过SSH等远程登录方式进行访问,管理员可以通过TTY设备管理服务器。 ls -l /dev/ | grep "tty"了解TTY概念有以下几个用途: 与终端交互:TTY设备是用户与计算机进行交互的接口,了解TTY概念可以帮助开发者编写与终端交互的程序。例如,可以使用TTY设备读取用户的输入,并将结果显示在终端上。 控制终端属性:TTY设备具有一些属性,如终端大小、字符编码等。了解TTY概念可以帮助开发者控制终端属性,例如改变终端大小、设置字符编码等。 串口通信:在一些特定的应用场景中,需要通过串口与外部设备进行通信。串口设备也是一种TTY设备,了解TTY概念可以帮助开发者编写串口通信程序,与外部设备进行数据交换。 远程登录:在服务器环境中,管理员通常通过SSH等远程登录方式访问服务器。远程登录也是通过TTY设备进行的,了解TTY概念可以帮助开发者编写远程登录相关的程序。 有哪些linux命令涉及到tty?在Linux中,有一些命令涉及到TTY设备,用于与终端进行交互或控制终端属性。以下是一些常见的与TTY相关的Linux命令: tty:显示当前终端的TTY设备文件路径。在Linux中,who命令用于显示当前登录到系统的用户信息,包括登录用户的终端设备。在较新的Linux系统中,终端设备通常以pts/开头,而不是以tty开头。 pts代表伪终端从设备(pseudo terminal slave)。伪终端是一种虚拟的终端设备,用于在客户端和服务器之间建立一个虚拟的终端会话。当用户通过SSH等远程登录方式登录到Linux系统时,会在服务器上创建一个伪终端设备,用于与用户进行交互。 相比于传统的物理终端设备(如TTY设备),伪终端设备具有更多的灵活性和功能。它可以在网络上远程访问,支持多个用户同时登录,以及提供更多的终端功能。 因此,当使用who命令查看当前登录用户时,显示的终端设备可能是以pts/开头的,而不是以tty开头的。这是因为可能是通过SSH等远程登录方式登录到系统的,所以显示的是伪终端设备。 需要注意的是,虽然终端设备的名称可能不同,但它们在功能上是相似的,都可以用于与用户进行交互和执行命令。 w:显示当前登录到系统的用户信息,包括登录用户的TTY设备和活动时间。示例: 这些命令涉及到TTY设备的操作和管理,可以帮助用户与终端进行交互、控制终端属性、发送消息等。 关于伪终端pty(pseudo terminal)pty是pseudo terminal的缩写,中文意思为“伪终端”。伪终端是一种虚拟的终端设备,用于在客户端和服务器之间建立一个虚拟的终端会话。 在Linux系统中,伪终端由两个部分组成:主设备(master)和从设备(slave)。主设备负责接收和发送数据,而从设备则负责将数据传递给应用程序或从应用程序接收数据。 伪终端的主要作用是允许用户通过网络或其他方式远程登录到系统,并在远程终端上执行命令和交互。它提供了一种虚拟的终端环境,使得用户可以像在本地终端上一样与系统进行交互。 伪终端还具有其他一些功能,例如支持多个用户同时登录,支持会话复制和断开重连等。它在远程管理、远程登录和远程终端访问等场景中广泛应用。 pty包含ptmx和pts(主设备和从设备)在Linux系统中,ptmx和pts是用于实现伪终端(pseudo terminal)的设备。 伪终端是一种特殊的设备,它提供了一个类似于物理终端的接口,可以用于在用户空间和内核空间之间进行交互。它通常用于实现终端仿真器(如xterm、gnome-terminal等)或远程登录工具(如ssh)。 ptmx是伪终端的主设备(master),它用于创建新的伪终端设备。当应用程序需要创建一个新的伪终端时,它可以通过打开/dev/ptmx设备文件来获取一个文件描述符。然后,应用程序可以使用ioctl系统调用来获取与该文件描述符关联的从设备文件路径(/dev/pts/N,其中N是一个数字)。 pts是伪终端的从设备(slave),每个从设备对应一个打开的ptmx设备。应用程序可以通过打开/dev/pts/N设备文件来与伪终端进行交互。例如,应用程序可以通过读写/dev/pts/N设备文件来向终端发送输入和接收输出。 通过使用ptmx和pts设备,应用程序可以实现与终端类似的交互体验,包括输入、输出、控制终端大小等功能。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |