Linux终端类型的详解

发布时间 - 2017-07-02 00:00:00    点击率:

unix是一个多用户多任务的操作系统。早期电脑昂贵,所以当时使用便宜的设备连接到电脑上(当时还没有键盘和显示器,使用纸带和卡片来输入输出)来使用操作系统,这个便宜的设备就是终端,也可以认为终端是一种控制台。所以可以认为电脑本身是console终端,便宜的连接设备是物理终端pty。

Linux是类unix系统,所以也继承了终端的特性。但是后来电脑逐渐便宜,也出现了显示器和键盘,所以可以使用键盘当作输入终端,显示器当作输出终端,这些终端就是虚拟终端,虚拟终端其实就是虚拟控制台,或者说是一个虚拟设备。

Linux提供了很多种虚拟终端,使用ttyN表示,使用Ctrl+Alt+F[1-6]可以进行虚拟终端的切换,这些终端设备记录在/dev/目录下。

[root@xuexi ~]# ls /dev/tty
tty    tty12  tty17  tty21  tty26  tty30  tty35  tty4   tty44  tty49  tty53  tty58  tty62  ttyS0 
tty0   tty13  tty18  tty22  tty27  tty31  tty36  tty40  tty45  tty5   tty54  tty59  tty63  ttyS1 
tty1   tty14  tty19  tty23  tty28  tty32  tty37  tty41  tty46  tty50  tty55  tty6   tty7   ttyS2 
tty10  tty15  tty2   tty24  tty29  tty33  tty38  tty42  tty47  tty51  tty56  tty60  tty8   ttyS3 
tty11  tty16  tty20  tty25  tty3   tty34  tty39  tty43  tty48  tty52  tty57  tty61  tty9

tty加上数值的就是虚拟终端,CTRL+ALT+F1表示切换到tty1终端,ctrl+alt+f2表示切换到tty2终端,一般Linux上只提供了ctrl+alt+f[1-6]这6个终端之间切换的功能。两个特殊的终端是tty和tty0,tty表示当前正在使用的终端,tty0表示当前已被激活的所有虚拟终端。还有ttySN,这些表示串行终端。

还有从ssh或telnet等从网络连接到电脑上的终端,或者从图形虚拟终端打开的命令行终端,都称为伪终端,使用pts/N表示,对应的设备为/dev/pts目录下的数值N文件。

[root@xuexi ~]# ls /dev/pts/0     ptmx

0表示第一个伪终端,1表示第二个伪终端。

伪终端和其它所有终端的管理方式都不一样,它是通过连接电脑的程序管理的,例如ssh连接则由ssh负责申请伪终端资源,并要求输入用户名和密码。如果ssh连接进程被杀,则此伪终端也相应的退出。

另外,有些身份验证的程序并非一定会为连接从程序分配终端,例如执行sudo ssh时,sudo就不一定会为ssh分配伪终端。

在现代Linux上,console终端已经和原始的意义不太一样了,其设备映射在/dev/console上,所有内核输出的信息都输出到console终端,而其他用户程序输出的信息则输出到虚拟终端或伪终端。

总结下:

/dev/console:控制台终端

/dev/ttyN:虚拟终端,ctrl+alt+f[1-6]切换的就是虚拟终端

/dev/ttySN:串行终端

/dev/pts/N:伪终端,ssh等工具连接过去的活着图形终端下开启的命令行终端就是伪终端。

 


# linux  # 是一个  # 连接到  # 命令行  # 切换到  # 操作系统  # 还没有  # 是一种  # 都不  # 目录下  # 第一个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android中AutoCompleteTextView自动提示  高端智能建站公司优选:品牌定制与SEO优化一站式服务  JS经典正则表达式笔试题汇总  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  打造顶配客厅影院,这份100寸电视推荐名单请查收  详解Android——蓝牙技术 带你实现终端间数据传输  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  如何自定义建站之星模板颜色并下载新样式?  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Laravel如何实现API资源集合?(Resource Collection教程)  新三国志曹操传主线渭水交兵攻略  如何在建站主机中优化服务器配置?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  Laravel怎么在Blade中安全地输出原始HTML内容  晋江文学城电脑版官网 晋江文学城网页版直接进入  Laravel怎么清理缓存_Laravel optimize clear命令详解  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  Laravel如何使用Collections进行数据处理?(实用方法示例)  Laravel如何生成API文档?(Swagger/OpenAPI教程)  中国移动官方网站首页入口 中国移动官网网页登录  Android 常见的图片加载框架详细介绍  如何用狗爹虚拟主机快速搭建网站?  免费网站制作appp,免费制作app哪个平台好?  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  Swift开发中switch语句值绑定模式  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何用PHP工具快速搭建高效网站?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  奇安信“盘古石”团队突破 iOS 26.1 提权  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  大连 网站制作,大连天途有线官网?  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  如何在Windows环境下新建FTP站点并设置权限?  使用spring连接及操作mongodb3.0实例  如何在香港免费服务器上快速搭建网站?  Laravel如何实现用户注册和登录?(Auth脚手架指南)  微信小程序 require机制详解及实例代码  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  郑州企业网站制作公司,郑州招聘网站有哪些?