栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

关于终端和console

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于终端和console

一个好的应用程序,要提供给开发人员和维护人员一个好用的日志系统;最近在做打印系统模块,把需要的知识点简单记录下;

一、终端

百度下终端的概念,可以看到很多解释;我大概的理解就是一个程序的IO控制端口;linux系统原始有7个真正的终端,可以通过ctrl+alt+F1-F7切换,在终端中可以看到linux最初的模样,完全命令行模式的;处理这几个终端外,我们可以新建无数个虚拟终端,来方面使用;例如我们可以在linux的桌面端通过ctrl+alt+t的方式新建无数个终端,特殊的还有ssh终端,串口终端;

我们都知道linux一切皆文件,每有一个终端,都会对应/dev下面的一个文件;例如ssh对应/dev/pts/xx,在桌面新建的终端也是一样的,他们都是在pts文件下,统称为虚拟终端;串口终端比较特殊,他们是在内核编译时,通过编译选项控制的,可以将指定串口配置为终端控制台,对应/dev/ttyxx;

实际上我们做程序得到IO重定向只需要把程序的标准IO重定向到指定终端对应的/dev下的文件就可以了;

二、Console

这里说的Console是linux内核log的输出端口的意思;和用户程序一样内核在运行期间也会有一些自己的打印日志输出。默认会输出到/dev/console文件;默认情况下又会重定向到一个串口方便调试;对于console,这里也有几个知识点;

1、可以通过 ioctl(fp,TIOCCONS);将内核打印重定向到fd文件,例如

fp = open("/dev/tty1",O_RDONLY);
ioctl(fp,TIOCCONS);    //TIOCCONS 的作用是使成为虚拟控制台
close(fp);

2、分清楚Console和控制台的概念;

ioctl仅改变内核打印的重定向,假如fp指向一个串口,控制台并不会定向到串口;如果需要把默认的串口控制台重定向到另外一个串口,需要内核修改编译选项,重新编译内核;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/289690.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号