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终端类型的详解的详细内容。更多信息请关注PHP中文网其他相关文章!

在Debian系统上优化Node.js应用性能,日志记录至关重要。合理的日志配置与管理能有效监控和提升应用效率。以下步骤和技巧将助您一臂之力:1.选择合适的日志库Node.js提供多个日志库,例如Winston、Pino和Morgan。Winston功能丰富,支持多种日志级别、传输方式和结构化日志记录,是不错的选择。2.设置日志级别日志级别根据消息重要性分类,常见级别包括Error、Warn、Info、Debug等。生产环境通常只记录Error或Warn级别的日

本文探讨如何利用Debian系统中的字符串数据进行分析。虽然我没有找到直接针对“DebianStrings数据分析”的专用工具或方法,但我们可以运用一些通用数据分析技术和工具来处理这类数据。数据分析方法与工具Debian系统中,字符串数据可能存在于各种文件中,例如日志文件、配置文件或程序输出。为了进行有效的分析,我们需要选择合适的工具和方法:数据提取:首先,需要从相关文件中提取字符串数据。可以使用命令行工具如grep,awk,sed等进行筛选和提取。例如,grep-oE'[a

本文介绍如何在Debian系统上稳定运行Node.js应用,并提供一系列最佳实践。一、安装Node.js和npm推荐使用NodeSource存储库获取最新稳定版本。首先添加存储库:curl-fsSLhttps://deb.nodesource.com/setup_14.x|sudo-Ebash-然后安装Node.js和npm:sudoapt-getinstallnodejs安装完成后,使用以下命令验证:node-vnpm-v二、安全配

本文探讨在Debian系统中运行Node.js应用的日志轮转策略,旨在有效管理日志文件大小和数量,避免磁盘空间占用过大,并简化日志归档和分析流程。日志轮转方法利用Node.js日志库:许多流行的Node.js日志库(例如Winston、Bunyan和Pino)都内置了日志轮转功能,可通过配置轻松实现。例如,Winston库的RotatingFileHandler可以设定日志文件大小和数量限制。配置文件示例(Winston):constwinston=require('wi

本文介绍几种在Debian系统上查看Go语言应用日志的方法:方法一:利用journalctl命令如果你的Go应用以systemd服务的形式运行,可以使用journalctl命令查看其日志。假设你的服务名为my-go-app,则使用以下命令:sudojournalctl-umy-go-appjournalctl命令还支持多种选项,例如查看最近一次启动的日志:sudojournalctl-b或查看特定时间段的日志:sudojournalctl--since"2024-01-

要监控Debian系统上的Node.js性能指标,您可以使用多种工具和方法。以下是一些常用的方法和工具:使用Easy-MonitorEasy-Monitor是一款基于Egg.js的Node.js性能监控解决方案,提供了针对Node.js进程与系统指标的性能监控、错误日志展示与依赖、Npm模块安全风险提示、自定义智能运维告警与线上进程实时状态导出等功能。使用NetDa

在Debian系统上集成Go语言日志管理工具,步骤如下:一、安装Go语言环境首先,确保你的Debian系统已安装Go。若未安装,执行以下命令:sudoaptupdatesudoaptinstallgolang-go验证安装:goversion二、选择日志工具Go语言有多种日志工具,例如logrus、zap、zerolog等。本文以logrus为例。三、安装logrus使用goget命令安装:gogetgithub.com/sirupsen/logrus四、配置l

本文探讨如何利用Golang日志机制提升Debian系统的性能。我们将逐步分解优化策略,并提供示例代码。一、高效日志记录策略精细化日志级别:根据调优目标选择合适的日志级别(INFO,DEBUG,ERROR等)。避免冗余日志,减少I/O负载。日志轮转与归档:定期分割和归档日志文件,防止单文件过大影响性能和存储。二、并发日志处理Goroutine并发:利用Golang的Goroutine实现并发日志写入,提升效率。Goroutine数量控制:使用channel或其他机制限制


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。