关于linux终端表述,Linux 终端tty pty pts描述

2023-05-16

在使用Linux的过程中,当我们通过ssh或者telnet等方式连接到服务器之后,会有一个相应的终端来对应。而在直接登陆到Linux服务器的时候也有一个对应的终端。也就是说所有登陆到当前Linux服务器的用户都有一个对应的终端,那他们有什么差异,终端到底是怎么一回事?本文作简要描述如下。

一、什么是终端(Terminal)

早期的计算机都属于大中型计算机,是个庞然大物,占用很大的空间,属于公用产品,好比现在的共享单车,大家一起用。不像现在的电脑,可以人手一部,直接操作。那肿么办呢,如何对这些计算机进行控制与操作呢。那就搞个终端设备来操作。因此一台计算机上有很多种不同的终端设备也和正常。也就是说终端就是为主机提供了人机接口,每个人都通过终端使用主机的资源。终端有字符终端和图形终端两种。同时这些大型计算机还配有控制台。控制台是一种特殊的人机接口, 是人控制主机的第一人机接口。而主机对于控制台的信任度高于其他终端。控制台可以类比为我们操作系统的超级管理员,可以禁用某个用户的权限,禁用用户登陆等等。而普通终端就相当于一个普通用户。

二、终端的模式

1、Linux X window

X window环境,即图形界面终端模式,类似于Windows的图形画界面,也就是通过鼠标的点点来完成所有的管理任务。这个通常是在测试环境或者学习环境中被用到。真实的生产环境,一般来说都是使用的非图形界面,因为对与繁忙的生产环境来说,这个图形界面是需要资源开销的,因此省省吧,也就是系统通常运行等级在level 3。对于X window,这个都是鼠标点击,没啥太多可说的。

有图形界面也就有文本界面终端,那对于在命令行窗口想要切换到X window的情形,肿么办呢?可以使用startx 来启动图行界面。

前提如下:

已经安装了X Window system,并且X server是能够顺利启动的;

tty7并没有其他的窗口软件正在运行(tty后面会讲到);

启动X所必须要的服务,例如字型服务器(X Font Server, xfs)必须要先启动;

系统已安装了GNOME/KDE等桌面环境;

2、文本接口终端

这是Linux服务器常用的模式。如果配置了Linux系统运行等级为3的时候,Linux启动后就直接为文本模式,在这种情况下,当我们登陆到Linux服务器,即表明开启了一个终端模式会话。Linux默认的情况下会提供六个Terminal来让使用者登陆, 切换的方式为使用:[Ctrl] + [Alt] + [F1]~[F6]的组合按钮。那这六个终端接口如何命名呢,系统会将[F1] ~ [F6]命名为tty1 ~ tty6的操作接口环境。 也就是说,当你按下[crtl] + [Alt] + [F1]这三个组合按钮时 (按着[ctrl]与[Alt]不放,再按下[F1]功能键), 就会进入到tty1的terminal界面中了。同样的[F2]就是tty2啰!那么如何回到刚刚的X窗口接口呢?很简单啊!按下[Ctrl] + [Alt] + [F1]就可以了!

总结如下:

linux的终端机(文字)界面与图形界面间的切换热键为:

进入终端机也就是字符界面(tty1-tty6):[Ctrl] + [Alt] + [F1] - [F6]

进入图形界面(tty7):[Ctrl] + [Alt] + [F7]

3、tty(终端设备的统称)

tty一词源于Teletypes,或teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘和显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,他有多种类型,通常使用tty来简称各种类型的终端设备。

4、pty(虚拟终端):

我们在使用远程telnet到主机或使用xterm时也会产生一个终端交互,这就是虚拟终端pty(pseudo-tty)

例如,我们在X Window下打开的终端,以及我们在Windows使用telnet 或ssh等方式登录Linux主机,此时均在使用pty设备(准确的说应该是pty从设备)。

5、pts/ptmx(pts/ptmx结合使用,进而实现pty):

伪终端(Pseudo Terminal)是终端的发展,为满足现在需求(比如网络登陆、xwindow窗口的管理)。它是成对出现的逻辑终端设备(即master和slave设备, 对master的操作会反映到slave上。也就是说pts(pseudo-terminal slave)是pty的实现方法,和ptmx(pseudo-terminal master)配合使用实现pty。

三、演示tty与pty

###演示环境

[root@desktop ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.2 (Maipo)

###从虚拟机直接登陆到shell,此时产生tty1,如下

[root@desktop ~]# tty

/dev/tty1

[root@desktop ~]# ps -ef|grep tty

root 1796 1719 0 15:23 tty1 00:00:00 -bash

root 1886 1843 0 15:24 pts/0 00:00:00 grep --color=auto tty

###切换到Documents目录

[root@desktop ~]# cd Documents/

[root@desktop Documents]# pwd

/root/Documents

###从SecureCRT ssh登陆到shell,此时产生一个伪终端,为pts/0

[root@desktop ~]# tty

/dev/pts/0

[root@desktop ~]# ps -ef|grep tty

root 1796 1719 0 15:23 tty1 00:00:00 -bash

root 1886 1843 0 15:24 pts/0 00:00:00 grep --color=auto tty

###在虚拟机切换tty,此时同时按下CTRL+ALT+F2,出现一个新的登陆提示

[root@desktop ~]# tty

/dev/tty2

###如下,可以看到有2个tty,一个是tty1,一个是tty2

[root@desktop ~]# ps -ef|grep tty |grep -v grep

root 1796 1719 0 15:23 tty1 00:00:00 -bash

root 1930 1912 0 15:27 tty2 00:00:00 -bash

root 1997 1930 0 15:24 tty2 00:00:00 ps -ef

###按下CTRL+ALT+F1,此时回到tty1终端,如下,回到tty1的Documents目录下

[root@desktop Documents]#

###再开几个tty终端,如下,出现了tty3,tty6等。

[root@desktop Documents]# ps -ef|grep tty

root 1796 1719 0 15:23 tty1 00:00:00 -bash

root 1930 1912 0 15:27 tty2 00:00:00 -bash

root 2056 2050 0 15:33 tty3 00:00:00 -bash

root 2187 2172 0 15:38 tty6 00:00:00 -bash

root 2230 1843 0 15:38 pts/0 00:00:00 grep --color=auto tty

[root@desktop ~]# tty

/dev/tty6

###在tty6切换到X window

[root@desktop ~]# startx

### 在SecureCRT 虚拟终端下查看,可以看到tty6调用了X window

[root@desktop Documents]# ps -ef|grep tty6

[root@desktop Documents]# ps -ef|grep tty6 |grep -v grep

root 2187 2172 0 15:38 tty6 00:00:00 -bash

root 2242 2187 0 15:39 tty6 00:00:00 /bin/sh /bin/startx

root 2280 2242 0 15:40 tty6 00:00:00 xinit /etc/X11/xinit/xinitrc --

/usr/bin/X :0 vt6 -keeptty -auth /root/.serverauth.2242

root 2281 2280 0 15:40 tty6 00:00:00 /usr/bin/X :0 vt6 -keeptty -auth

/root/.serverauth.2242

[root@desktop ~]# ### Author : Leshami QQ/Weixin : 645746311

[root@desktop ~]# ### Blog : http://blog.csdn.net/leshami

###查看当前系统登陆用户终端使用情形

[root@desktop ~]# who

root tty1 2017-08-11 15:23

root pts/0 2017-08-11 15:23 (192.168.81.1)

root tty2 2017-08-11 15:27

root tty3 2017-08-11 15:33

root tty6 2017-08-11 15:38

root pts/1 2017-08-11 15:40 (:0)

###查看伪终端使用的情形

[root@desktop ~]# ps -ef|grep pts|grep -v grep

root 1839 1645 0 15:23 ? 00:00:00 sshd: root@pts/0

root 1843 1839 0 15:23 pts/0 00:00:00 -bash

root 2784 2777 0 15:40 pts/1 00:00:00 /bin/bash

root 4313 1843 0 17:31 pts/0 00:00:00 ps -ef

###查看虚拟终端设备,如下,当前有2个伪终端对应到ptmx

[root@desktop ~]# ls /dev/pt*

/dev/ptmx

/dev/pts:

0 1 ptmx

###在SecureCRT再启动一个连接,再次查看多出了一个,即在ptmx多出了一个为2的slave

[root@desktop ~]# ls /dev/pt*

/dev/ptmx

/dev/pts:

0 1 2 ptmx

六、终端示意图

926b7aafeeba787943b173ef2d5f5b0c.png

七、更详细概念描述可参考

http://blog.csdn.net/huchuan1985/article/details/46699037

177def5556bdc32385906cfcae7c2ca9.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于linux终端表述,Linux 终端tty pty pts描述 的相关文章

  • 计算机专业毕业设计题目及参考

    计算机专业毕业设计题目及参考 1 xff0e C语言程序设计 多媒体教学课件的制作 2 xff0e 成绩管理系统 设计 xff08 用C语言实现 xff09 3 xff0e 软件设计 xff1a 超级商场进销存管理系统 xff08 可选 x
  • crontab之坑爹的环境变量

    title crontab之坑爹的环境变量 tags crontab环境变量envbash categories linux date 2017 07 25 18 18 53 如前文所述 xff0c 最近在做mysql的备份mysqldum
  • Webpack基本架构浅析

    文章webpack版本为3 6 0 前言 随着掌握的前端基础知识越来越多 xff0c 对技术的要求逐渐不满足于实现即可 xff0c 技术到了瓶颈期 xff0c 自己也曾尝试写过一些开源库 xff0c 不过很少有满意的作品 xff0c 通常没
  • Open***在linux上的完美实现

    Open 在linux上的完美实现 一 Open 的工作原理 技术通过密钥交换 封装 认证 加密手段在公共网络上建立起私密的隧道 xff0c 保障传输数据的完整性 私密性和有效性 Open 是近年来新出现的开放源码项目 xff0c 实现了
  • linux下查看uuid的三种方法及使用uuid的作用

    查看设备的uuid的三种方法 xff0c 总结如下 xff1a 1 命令查看 xff1a blkid 2 文件查看 xff1a ls l dev disk by uuid 3 命令查看 xff1a vol id dev sda1 UUID的
  • navicat 查看表的注释

    2019独角兽企业重金招聘Python工程师标准 gt gt gt navicat 不同于sqlyog 没有直接展示注释的地方 xff0c 通过查看DDL 来查看注释 查看DDL的方式 打开Navicat工具 xff0c 双击打开需要连接的
  • R语言ggplot2绘图设置X轴刻度,字体大小及绘图区大小

    gt colnames data1 seq 2 ncol data1 15 1 34 AAAA 34 34 AAGG 34 34 ATGC 34 34 ACGT 34 34 AGGA 34 34 TACG 34 34 TTCC 34 34
  • 无法连接虚拟设备sata0:1,因为主机上没有相应的设备

    打开虚拟机的时候 xff0c 弹出这个 xff0c 但是虚拟机可以正常使用 无法连接虚拟设备sata0 1 xff0c 因为主机上没有相应的设备 原因是因为开机连接CD DVD驱动器 去掉这个勾 OK 转载于 https www cnblo
  • 计算机网络第七版谢希仁知识点总结

    1 专有名词 xff1a 互联网服务提供商ISP xff08 Interest Service Provider xff09 互联网交换点 IXP xff08 Internet eXchange Point xff09 广域网WAN xff
  • SecureCRT 通过Xmanager 开启图形界面(root用户登录后,su登录oracle用户)

    一 安装了Xmanager软件 xff0c 在客户端上开启了Xmanager Passive 程序 二 SecureCRT的会话选项中 端口转发 远程 X11 里将转发X11数据包勾上 用root用户登录后运行xclock程序 xff0c
  • 多线程大串讲之二: 多线程同步的学习[1]

    一 CriticalSection 临界区 临界区 34 CriticalSection 当把一段代码放入一个临界区 线程执行到临界区时就独占了 让其他也要执行此代码的线程先等等 这和前面用的 Lock 和 UnLock 差不多 使用格式如
  • matlab练习程序(加权最小二乘)

    起本篇题目还是比较纠结的 xff0c 原因是我本意打算寻找这样一个算法 xff1a 在测量数据有比较大离群点时如何估计原始模型 上一篇曲面拟合是假设测量数据基本符合均匀分布 xff0c 没有特别大的离群点的情况下 xff0c 我们使用最小二
  • linux搜索一个文件

    find name filename 转载于 https www cnblogs com tiandsp archive 2012 07 15 2592088 html
  • VINS 回环检测与全局优化

    回环检测 VINS回环检测与全局优化都在pose graph cpp内处理 首先在pose graph node加载vocabulary文件给BriefDatabase用 xff0c 如果要加载地图 xff0c 会loadPoseGraph
  • gcc make 与cmake

    1 gcc xff08 1 xff09 是什么 xff1f 它是GNU Compiler Collection xff08 就是GNU编译器套件 xff09 xff0c 也可以简单认为是编译器 它可以编译很多种编程语言 xff08 括C C
  • server unexpectedly closed network connection

    在使用 ssh 登入 Linux 時 xff0c 卻發生了 server unexpectedly closed network connection 的狀況 解决方法 xff1a 1 修改 etc ssh sshd config 將 Us
  • 开源SDN控制器和商用SDN控制器一览

    以下是来自IT168收集的2014年可追寻到的开源SDN控制器和商用SDN控制器 xff0c 此处转载以供大家知悉 xff0c 更多控制器信息需要大家自己动手去查询和理解 开源SDN控制器组织 随机排序 xff0c 仅为了查看便利 1 组织
  • openstack 异常处理

    1 xff0c keystone 验证失败 xff0c 例如 xff1a Authorization failed The request you have made requires authentication from 172 16
  • [原]C++头文件的包含顺序研究

    作者 xff1a 朱金灿 来源 xff1a http blog csdn net clever101 一 xff0e Google C 43 43 编程风格指南 里的观点 公司在推行编码规范 xff0c 领导提议基本上使用 Google C
  • 使用badblocks检测坏块

    命令格式 badblocks svw b lt 区块大小 gt o lt 输出文件 gt 磁盘装置 磁盘区块数 启始区块 典型的命令如下 写测试 数据安全 sudo badblocks n b 4096 c 16 s dev sda o h

随机推荐

  • Soft NMS改进的非极大值抑制方法的pytorch cuda版本,可以用

    话不多说 xff0c 直接上代码 xff0c 代码是根据soft max论文提供的代码 xff0c 修改的 xff0c 原来的代码是cpu版本 xff0c 且返回的keep参数并不是原来bbox的序列参数 xff0c 所以做了部分修改 xf
  • redis session时,sessionId作为token,可靠实现

    场景 xff1a 在一些不能使用session xff0c 或者session不能保持的情况 xff0c 通常服务器端产生一个token字符串标识用户登录状态 当前端调用后端接口时 xff0c 将此token作为参数加入到请求中 xff0c
  • 好朋友简简单单,好情谊清清爽爽,好缘份久久长长

    好朋友简简单单 xff0c 好情谊清清爽爽 xff0c 好缘份久久长长 A good friend is simple a good friendship is refreshing a good relationship lasts fo
  • LwIP raw api下使用tcp keep alive

    First we should enable this macro in lwipopts h define LWIP TCP KEEPALIVE 1 The following code is implemented after tcp
  • 阿里云API网关(9)常见问题

    网关指南 xff1a https help aliyun com document detail 29487 html spm 61 5176 doc48835 6 550 23Oqbl 网关控制台 xff1a https apigatew
  • mysql实现随机获取几条数据的方法

    sql语句有几种写法 1 xff1a SELECT FROM tablename ORDER BY RAND LIMIT 想要获取的数据条数 xff1b 2 xff1a SELECT FROM 96 table 96 WHERE id gt
  • Spring5:@Autowired注解、@Resource注解和@Service注解

    什么是注解 传统的Spring做法是使用 xml文件来对bean进行注入或者是配置aop 事物 xff0c 这么做有两个缺点 xff1a 1 如果所有的内容都配置在 xml文件中 xff0c 那么 xml文件将会十分庞大 xff1b 如果按
  • zabbix之监控redis云服务

    参考文档 xff1a http www 21yunwei com archi redis云服务的监控难点为服务部署在云上 xff0c 无法对服务进行配置等相关配置 实现方式 xff1a 编写采集脚本 gt 通过zabbix agent连接到
  • 卡方检验的自由度

    为什么80 的码农都做不了架构师 xff1f gt gt gt 自由度 xff1a 取值不受限制的变量的个数 如何理解这句简单的话呢 xff1f 给定一组数据 xff0c 我们来计算不同的统计量 xff0c 看看自由度的变化 这些数据分别为
  • Microsoft.NETCore.App 版本不一致导致的运行失败

    为什么80 的码农都做不了架构师 xff1f gt gt gt 场景重现 今天新建了一个 ASP NET Core 的项目 通过 Web Deploy 顺利发布到IIS上后 但访问时出现如下异常 异常原因 通过手动执行dotnet命令发现运
  • 2007年最值得期待的40部北美大片(争取去电影院看50%)

    1 Spider Man 3 蜘蛛侠3 导 演 xff1a 萨姆 莱米 Sam Raimi 主 演 xff1a 托比 马圭尔 Tobey Maguire Thomas Haden Church 柯尔斯滕 邓斯特 Kirsten Dunst
  • UML实例(五):在线购物系统设计类图

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 在线购物系统设计类图文档 xff1a 1 图形文档 设计类图 界面类图 2 文字说明 该部分由以下部分组成 xff1a 类图综述 类描述 类联描述 继承描述 依赖描述和其他
  • 为啥很多网站的用户端都更新了,博客园还是原来的样子呢

    重回博客园发布一些工作中的文章 xff0c 心得 xff0c 发现博客园在界面上还是跟7 8年前没啥区别 xff0c 界面经典好用 xff0c 这是不用质疑的 xff0c 但是发布内容的一些地方 xff0c 好像不像其他网站那么方便了 xf
  • ASP.NET的必须知道的东东(HttpModule,HttpHandler)

    asp net架构 一 asp net请求的处理过程 xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff0d xff
  • matlab练习程序(Hilbert图像置乱)

    正好刚写了Hibert生成曲线 xff0c 不如再加一篇应用的程序 关于Hilbert图像置乱 xff0c 我在网上搜的应用领域主要集中在数字水印和图像加密上 xff0c 而这两个领域我都没怎么接触过 大部分的图像置乱都是如下图的置乱1所示
  • 深入C++“准”标准库,Boost你的力量

    最近一年我电话面试了数十位 C 43 43 应聘者 xff0c 惯用的暖场问题是 工作中使用过 STL 的哪些组件 xff1f 使用过 Boost 的哪些组件 xff1f 得到的答案大多集中在 vector map 和 shared ptr
  • Visual Studio 中创建带有向导的项目模板

    对于测试开发来说 xff0c 建立新工程的次数要远远高于专职开发人员 由于每次建立一个测试工程都要例行公事的设置一大堆属性 xff0c 例行公事的写一些同样的代码 xff0c 非常耗时 因此打算通过建立项目模板来达到自己完成的目的 比如 x
  • Linux -- Samba之SWAT(Web服务器和CGI脚本应用程序)

    6 6 2 SWAT xff08 1 xff09 SWAT xff08 Samba Web Administration Tool xff0c Samba Web 管理工具 xff09 是一个小规模的Web服务器和CGI脚本应用程序 可以为
  • 关于openstack里instance的mac地址

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 假设你在虚拟机里面的使用ifconfig看到的它自己的mac地址为A xff0c 然后在其他随便一台机器上ssh连接一下这个虚拟机 xff08 连接它的floating i
  • 关于linux终端表述,Linux 终端tty pty pts描述

    在使用Linux的过程中 xff0c 当我们通过ssh或者telnet等方式连接到服务器之后 xff0c 会有一个相应的终端来对应 而在直接登陆到Linux服务器的时候也有一个对应的终端 也就是说所有登陆到当前Linux服务器的用户都有一个