详解Linux系统的终端(Terminal)以及分类(各种tty开头的设备文件)

news2025/2/5 0:15:44

目录

  • 终端(Terminal)的概念和作用
  • 终端(Terminal)在Linux中被视为设备,每个终端有自己的设备文件
  • tty三个字母的来源(tty名字的来源)
  • 如何查看当前终端的设备文件
  • 常见终端的分类
    • 1-串口终端
    • 02-虚拟控制台终端(Virtual Console)
    • 03-伪终端(Pseudo Terminal)
  • 特殊的设备文件:`/dev/tty0`

终端(Terminal)的概念和作用

在Linux中,终端(Terminal)是与计算机系统进行交互的界面,通常用于输入命令、运行程序、查看输出等操作。

Linux系统的终端(Terminal)简单粗暴的理解就是平时自己向Linux系统输入命令并接收返回信息的东西,比如我用SecureCRT连接上Linux系统打开的各个控制台窗口:
在这里插入图片描述
再比如我在Ubuntu中搜索Terminal打开的东西也是终端:
在这里插入图片描述
在这里插入图片描述

终端(Terminal)在Linux中被视为设备,每个终端有自己的设备文件

在Linux系统中,所有类型的终端,包括物理终端、虚拟终端、伪终端和串口终端,都被视为设备,并且它们都有对应的 设备文件。这些设备文件位于 /dev 目录下,每个终端设备都通过文件系统提供与系统进行交互的接口。

当你在终端中输入命令时,系统会将输入通过相应的设备文件(如 /dev/tty1/dev/pts/0)传递到内核进行处理。
系统的输出(例如命令结果)会通过相应的终端设备文件返回给终端仿真程序,最终显示在终端窗口中。

tty三个字母的来源(tty名字的来源)

在Linux中,以tty开头的设备文件通常用于终端设备。tty是“Teletypewriter”的缩写,最初指的是电传打字机,后来泛指终端设备。

如何查看当前终端的设备文件

输入下面这个命令就可以看查看当前终端的设备文件

tty

示例截图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常见终端的分类

1-串口终端

比如我与开发板之间通过串口通信形成的终端就是一种典型的串口终端。在串口终端上运行tty命令的结果如下:
在这里插入图片描述
设备文件名称中的mxc是 Freescale/NXP i.MX 系列处理器的串行控制器名称。
不过一般的串口终端的设备文件的名称通常是/dev/ttySX(如/dev/ttyS0、/dev/ttyS1等)。

02-虚拟控制台终端(Virtual Console)

虚拟控制台终端(简称虚拟终端)是系统启动后由 Linux 内核提供的,通常从系统启动时就开始运行并一直存在,直到系统关机。它们是通过系统的 内核 和 虚拟终端驱动(vt 驱动) 来模拟的。

当 Linux 系统启动时,内核会自动分配多个虚拟终端(通常是 tty1tty6,可以通过 Ctrl + Alt + F1 到 F6 切换)。这些终端一开始就存在,并且在整个系统运行过程中一直保持活跃。

虚拟终端让用户能够在没有图形用户界面的情况下(或在多用户环境中)通过键盘和显示器进行系统管理、登录、运行命令等。每个虚拟终端提供独立的会话,你可以在每个终端上执行不同的任务。

虚拟控制台终端的设备文件的路径和名称通常是/dev/ttyXX 是从 06,通常 tty1tty6

03-伪终端(Pseudo Terminal)

Ubuntu图形界面下搜索Terminal打开的终端就是伪终端,另外通过网络远程连接(如 SSH)得到的终端也是伪终端,所以其实目前来说这种终端是很常用的。

伪终端因为也可以打开很多个,所以其实它也能像虚拟控制台终端那样具有实现多任务处理的效果。不过伪终端不像虚拟控制台终端那样系统启动后就存在并且一直运行,伪终端则需要人为打开才行,比如在Ubuntu图形界面下搜索Terminal打开,或者通过SSH远程连接打开。

伪终端的设备文件的名字通常如下:
/dev/pts/XX 是一个数字,表示不同的伪终端设备)

相关截图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

特殊的设备文件:/dev/tty0

/dev/tty0是一个特殊的设备文件,它代表当前活跃的虚拟控制台终端。当你在一个特定的虚拟控制台上工作时,系统会将其作为当前控制台,并将输出发送到该控制台。如果你在 tty1 上登录并工作,/dev/tty0 通常指向 tty1,因为它是当前活动的虚拟控制台终端。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2292043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

强化学习数学原理(五)——随机近似与随机

一、Motivating example 首先有个random variable(随机变量)X,我们的目标就是求出他的expectation E(x),我们有一些iid的采样,xi,从1到n,求出均值 但是如果有很多数据,我需要等很久,把所有数据都…

线性数据结构:单向链表

放弃眼高手低,你真正投入学习,会因为找到一个新方法产生成就感,学习不仅是片面的记单词、学高数......只要是提升自己的过程,探索到了未知,就是学习。 考虑到可能有小白在合并代码时出现各种细节问题,本文…

线程互斥同步

前言: 简单回顾一下上文所学,上文我们最重要核心的工作就是介绍了我们线程自己的LWP和tid究竟是个什么,总结一句话,就是tid是用户视角下所认为的概念,因为在Linux系统中,从来没有线程这一说法,…

《苍穹外卖》项目学习记录-Day11订单统计

根据起始时间和结束时间,先把begin放入集合中用while循环当begin不等于end的时候,让begin加一天,这样就把这个区间内的时间放到List集合。 查询每天的订单总数也就是查询的时间段是大于当天的开始时间(0点0分0秒)小于…

SAP HCM 回溯分析

最近总有人问回溯问题,今天把12年总结的笔记在这共享下: 12年开这个图的时候总是不明白是什么原理,教程看N次,网上资料找一大堆,就是不明白原理,后来为搞明白逻辑,按照教材的数据一样做&#xf…

Med-R2:基于循证医学的检索推理框架:提升大语言模型医疗问答能力的新方法

Med-R2 : Crafting Trustworthy LLM Physicians through Retrieval and Reasoning of Evidence-Based Medicine Med-R2框架Why - 这个研究要解决什么现实问题What - 核心发现或论点是什么How - 1. 前人研究的局限性How - 2. 你的创新方法/视角How - 3. 关键数据支持How - 4. 可…

bypass hcaptcha、hcaptcha逆向

可以过steam,已支持并发,欢迎询问! 有事危,ProfessorLuoMing

python-UnitTest框架笔记

UnitTest框架的基本使用方法 UnitTest框架介绍 框架:framework,为了解决一类事情的功能集合 UnitTest框架:是python自带的单元测试框架 自带的,可以直接使用,不需要格外安装 测试人员用来做自动化测试,作…

掌握API和控制点(从Java到JNI接口)_35 JNI开发与NDK 03

3、 如何载入 .so档案 VM的角色 由于Android的应用层级类别都是以Java撰写的,这些Java类别转译为Dex型式的Bytecode之后,必须仰赖Dalvik虚拟机器(VM: Virtual Machine)来执行之。 VM在Android平台里,扮演很重要的角色。此外,在执…

CDDIS从2025年2月开始数据迁移

CDDIS 将从 2025 年 2 月开始将我们的网站从 cddis.nasa.gov 迁移到 earthdata.nasa.gov,并于 2025 年 6 月结束。 期间可能对GAMIT联网数据下载造成影响。

VSCode设置内容字体大小

1、打开VSCode软件,点击左下角的“图标”,选择“Setting”。 在命令面板中的Font Size处选择适合自己的字体大小。 2、对比Font Size值为14与20下的字体大小。

嵌入式学习---蜂鸣器篇

1. 蜂鸣器分类 蜂鸣器是一种电子发声器件,采用直流电压供电,能够发出声音。广泛应用于计算机、打印机、报警器、电子玩具等电子产品中作为发声部件。一般仅从外形不易分辨蜂鸣器的种类。但是有些蜂鸣器使用广泛,见得多了就很容易分辨。例如常…

【优先算法】专题——前缀和

目录 一、【模版】前缀和 参考代码: 二、【模版】 二维前缀和 参考代码: 三、寻找数组的中心下标 参考代码: 四、除自身以外数组的乘积 参考代码: 五、和为K的子数组 参考代码: 六、和可被K整除的子数组 参…

【Linux】使用管道实现一个简易版本的进程池

文章目录 使用管道实现一个简易版本的进程池流程图代码makefileTask.hppProcessPool.cc 程序流程: 使用管道实现一个简易版本的进程池 流程图 代码 makefile ProcessPool:ProcessPool.ccg -o $ $^ -g -stdc11 .PHONY:clean clean:rm -f ProcessPoolTask.hpp #pr…

找不到msvcp140.dll解决方法

您可以尝试以下方案进行修复,看看是否可以解决这个问题: 一、重新注册 msvcp140.dll 运行库文件: “WinR”打开运行,键入:regsvr32 MSVCP140.dll,回车即可; 如果出现找不到该文件的提示&…

【优先算法】专题——位运算

在讲解位运算之前我们来总结一下常见的位运算 一、常见的位运算 1.基础为运算 << &&#xff1a;有0就是0 >> |&#xff1a;有1就是1 ~ ^&#xff1a;相同为0&#xff0c;相异位1 /无进位相加 2.给一个数 n&#xff0c;确定它的二进制表示…

【Cadence仿真技巧学习笔记】求解65nm库晶体管参数un, e0, Cox

在设计放大器的第一步就是确定好晶体管参数和直流工作点的选取。通过阅读文献&#xff0c;我了解到L波段低噪声放大器的mos器件最优宽度计算公式为 W o p t . p 3 2 1 ω L C o x R s Q s p W_{opt.p}\frac{3}{2}\frac{1}{\omega LC_{ox}R_{s}Q_{sp}} Wopt.p​23​ωLCox​Rs…

Docker入门篇(Docker基础概念与Linux安装教程)

目录 一、什么是Docker、有什么作用 二、Docker与虚拟机(对比) 三、Docker基础概念 四、CentOS安装Docker 一、从零认识Docker、有什么作用 1.项目部署可能的问题&#xff1a; 大型项目组件较多&#xff0c;运行环境也较为复杂&#xff0c;部署时会碰到一些问题&#xff1…

开源智慧园区管理系统对比其他十种管理软件的优势与应用前景分析

内容概要 在当今数字化快速发展的时代&#xff0c;园区管理软件的选择显得尤为重要。而开源智慧园区管理系统凭借其独特的优势&#xff0c;逐渐成为用户的新宠。与传统管理软件相比&#xff0c;它不仅灵活性高&#xff0c;而且具有更强的可定制性&#xff0c;让各类园区&#…

【C++】P5734 【深基6.例6】文字处理软件

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目描述&#x1f4af;题目描述输入格式输出格式示例输入与输出输入&#xff1a;输出&#xff1a; &#x1f4af;我的做法操作1&#xff1a;在文档末尾插入字符串操作2&…