Linux 终端
终端 terminal
在早期的计算机中,用户并没有直接在主机上进行操作,而是通过一种叫作终端的设备来操作主机。终端通过通信线缆和主机进行连接,在终端上输入命令或数据,然后终端会将这些信息发送到主机进行处理。当主机处理完后,结果会返回并在终端的显示器上显示。这个时期的终端基本上就是包含键盘和显示的设备。这种终端成为物理终端。
现在,物理终端逐渐被个人计算机和图形用户界面取代,但是为了兼容旧的系统和某些应用程序进行交互,人们创建了软件来模拟早期的物理终端。这样的软件被称为“终端仿真器”或简称“终端”。例如putty、xshell等。这种终端成为虚拟终端或终端仿真器。
所以,可以将终端理解为一个接口,无论是软件还是硬件,都能允许用户与计算机系统进行交互
pty和tty
tty(teletypewriters),终端
-
在早期,tty指代那些与计算机主机有实际物理连接的设备,例如早期的电传打字机和硬件终端。
-
在现在,tty既可以指物理终端,也可以指代虚拟终端。
-
所以tty可以理解为一个物理或虚拟的控制台接口,允许用户直接与系统进行交互。
pty(pseudo-tty),伪终端
-
是通过终端仿真器来模拟传统 tty 的虚拟设备,从而实现和计算机的交互。
-
pty是完全虚拟的,不像tty一样既可以是物理的接口也可以是虚拟的接口。
tty和pty使用场景:
-
直接在计算机上,无论是通过物理设备还是通过虚拟控制台与系统交互时,通常正在使用 tty
-
通过某种软件应用,如终端仿真器或远程登录工具与系统交互时,实际上是在使用 pty
/dev/pts/0是pty的一个从设备。
伪终端的组成
伪终端由两部分组成,master和slave,master和slave都是位于linux主机上的,只是作用不一样。
-
master称为主设备,位于程序端。例如用来接收用户输入,并将输出发送到从设备。
-
slave称为从设备,从设备的目的就是为终端用户(主设备)提供相应的接口。
例如:使用xshell连接远程linux
1、使用xshell连接远程linux服务器时,Xshell充当远程终端会话的客户端
2、连接成功后,系统会为这次远程会话创建一个伪终端,伪终端由master和slve组成。主设备负责与Xshell通信(处理Xshell发送的输入并将程序的输出传回给Xshell);从设备(例如/dev/pts/0)则为这次远程会话提供虚拟终端环境。
3、在xshell输入命令时候,会先发送给主设备,主设备再发送给从设备。从设备中命令会被执行,从而返回给主设备。主设备再传递回Xshell,从而就能在Xshell窗口中看到结果
tty命令
作用:查看当前所在终端的名称
-
在传统的终端情境下(比如直接登录到物理机器的控制台),tty命令会返回一个如/dev/tty1的设备名,这实际上是一个真实的终端设备。
-
在远程或伪终端情境下(比如通过SSH登录),tty会返回如/dev/pts/0的设备名,这是一个伪终端从设备。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了