Unix/Linux是多用户系统

1、主机连接多态字符终端

2、字符终端作为交互式(人机之间)输入输出设备

终端的构成

键盘、显示器、RS232串行通信接口

主机与终端的连接

1、主机中的串口卡(硬件)引出多个RS232串口

2、每个RS232接口通过电缆(3芯或更多芯)连接一台终端

3、RS232电缆的长度限制,早期要求小于10米,现在可达百米

终端与主机的功能分工

终端:主机的输入和输出设备

终端通过电缆把用户的按键信息送到主机,把主机发来的信息在屏幕上显示

主机:程序和数据的存储及处理

数据及程序存放在主机的硬盘上,程序的运行也都由主机内的CPU占用主机内存来完成

驱动程序

1、不同的硬件需要不同的驱动程序

2、与行律模块的接口:上行和下行字符流

行律的作用

1、一行内字符的缓冲、回显与编辑,直到按下回车键

2、数据加工,如:将\n转化为\r\n

3、将Ctrl+C字符转化为终止进程运行的信号(signal

即:比如说我们在终端上按下了Ctrl+C按键,那么实际上有一个字节,这个字节的ASCLL码值是3。送到主机那边去。主机的行律见到这个字节后,并不是把这个字节像普通的按键信息一样,交给终端上运行的进程。而是产生一个信号,将这个继承杀死,这些功能是行律要做的。

下面我们看一下这个主机与终端之间的通信过程:

行律功能的调整

行律的功能有的时候对于我们来说,是不方便的。比如说,回显,我们输入口令的时候不希望回显。

有的时候我们不希望行律缓冲数据。比如说,我们希望按键信息能尽快的交给应用程序,而不是等待按下回车。

下面有两种可以调整行律的方法:

1、程序中通过编程的方法

2、相关命令:stty

(1、比如,考虑到有些终端不支持backspace键。我们可以通过Ctrl+H键擦掉一个字符。所以我们在这里设置一下——

stty erase ^ H 

而这里我们要知道的事,Ctrl+H组合键对应的ASCLL码是8,对应的也是backspace键。

2、stty -a可以将行律的所有控制信息的状态打印出来,终端忠实的显示从主机送来的信息。

3、又比如,我们可以使字符显示不同的颜色。这时候,需要一些控制。这些控制,都是由终端转义序列来完成的。)

终端转义序列

原创地址:https://www.cnblogs.com/fanweisheng/p/11076987.html

举例:

ESC- but not CSI-sequences 非控制转义序列

ESC c RIS 重绘屏幕.
ESC D IND 换行.
ESC E NEL 新的一行.
ESC H HTS 设置当前列为制表位.
ESC M RI 翻转换行(Reverse linefeed).
ESC Z DECID DEC 私有定义.内核将其解释为
    VT102字符,返回字符ESC [ ? 6 c.
ESC 7 DECSC 存储当前状态(光标坐标,
    属性,字符集).
ESC 8 DECRC 恢复上一次储存的设置
ESC [ CSI 控制序列介绍
ESC %   开始一个字符集选择序列
ESC % @    选择默认字符集(ISO 646 / ISO 8859-1)  
ESC % G      选择 UTF-8
ESC % 8      选择 UTF-8(已不用)
ESC # 8 DECALN DEC 屏幕校准测试 - 以E's填充屏幕.
ESC(   开始一个 G0 字符集定义序列
ESC( B      选择默认字符集(ISO 8859-1 mapping)
ESC( 0      选择 vt100 图形映射
ESC( U      选择空映射 - 直接访问字符ROM
ESC( K      选择用户映射 - 由程序mapscrn(8)
       加载.
ESC )   开始一个 G1 字符集定义
    (后面跟 B,0,U,K,同上).
ESC > DECPNM 设置数字小键盘模式
ESC = DECPAM 设置程序键盘模式
ESC ] OSC (是perating system command的缩写)
    ESC ] P nrrggbb: 设置调色板,后面紧跟7个
    十六进制数,再跟一个 P :-(.
    这里 n 是颜色(0-16),而 rrggbb 表示
    红/绿/蓝 值(0-255).
    ESC ] R: 重置调色板

终端仿真简介

真实的硬件终端设备由键盘和显示器组成,用于与远程主机(计算机)进行通信。除了与主机距离比较远(在隔壁房间或者在其它城市)以外,它的使用方式与一台个人计算机没有什么区别。程序是在主机上被执行,但结果是显示在终端屏幕上。终端通常仅限于显示接收到的信息以及在键盘上输入发送给主机的信息。

功能单一的终端设备在上世纪70年代和80年代比较盛行。人们在其上编制程序、运行程序、编写文档或发出打印命令等。终端使用一根电缆与主机相连,有时需要通过modem与在远距离以外的主机连接。

如今使用实际的终端设备已经很少。人们通常利用软件把个人计算机仿真成一个终端与主机相连。现在几乎所有使用Linux的人都使用终端仿真方法。对于不使用X window的情况下,人们使用字符界面的终端(虚拟终端)。这通常也被称为命令行接口。而在X window环境下,我们可以获得多个终端窗口,也有不少的终端仿真程序可以选用,例如xterm、rxvt或者zterm等。所有这些都是使用了仿真的方法来模拟一台真实的终端设备。

终端仿真的发展

随着网上异构操作系统环境的高速发展,特别是Linux/UNIX的蓬勃发展,给日常应用提供了更多、更高和更安全的选择。然而,各种操作系统之间的操作环境相差很大。从事计算机工作的专业人员面临的情况更为复杂。企业内部有很多计算机,在它们上运行的操作系统可能是Windows、Linux、Solaris、OpenVMX、True64、FreeBSD,也可能是HP-UX、AIX或别的Unix系统。

以往UNIX主机会自带多台字符或图形终端供用户使用。但随着网络的飞速发展以及安全上的要求,用户往往远离主机,通过RS232接口连接的串行终端已经成为瓶颈,如何利用Intranet网或Internet网上的PC机访问和管理这些UNIX的服务器已经成为巨大的要求。这时,UNIX仿真软件诞生。即在Windows环境中,仿真出一个远程控制台,作为一个远程终端,通过网络登录到远程Unix系统。

对于Linux、Unix系统,通常使用终端仿真工具进行远程管理。常见的工具有:Windows自带的Telnet、Netterm、CRT。但WRQ公司的Reflection软件不仅能同时为不同UNIX服务器提供字符终端和X-WINDOW图形的仿真,同时能够加密传输,保证客户安全。

虚拟终端字节流

【Linux】Linux的字符终端相关推荐

  1. linux 命令行字符终端terminal下强制清空回收站

    回收站其实就是一个文件夹,存放被删掉的文件. ubuntu 回收站的路径: $HOME/.local/share/Trash/ 强制清空回收站: rm -fr $HOME/.local/share/T ...

  2. linux nona怎么用_nano命令_Linux nano 命令用法详解:字符终端文本编辑器

    nano是一个字符终端的文本编辑器,有点像DOS下的editor程序.它比vi/vim要简单得多,比较适合Linux初学者使用.某些Linux发行版的默认编辑器就是nano. nano命令可以打开指定 ...

  3. linux字符终端浏览器-----Lynx

    Lynx         (一)   Lynx   简介       Lynx   是一个字符界面下的全功能的WWW浏览器.Lynx   可以运行在很多种   操作系统下,如VMS,   UNIX, ...

  4. linux字符终端图片展示

    所用操作系统概述:linux3.2.0内核,64位的Ubuntu12.04虚拟机 关于linux下操作fb0的介绍网上已经有很多资料了,大家可以随便搜索一下就能找到大量的比较详细的原理性的东西的介绍, ...

  5. linux里怎么看终端类型,如何区分Linux下的几种终端类型:tty、pty和pts

    如何区分Linux下的几种终端类型:tty.pty和pts 基本概念: 1. tty(终端设备的统称): tty一词源于teletypes,或者teletypewriters,原来指的是电传打字机,是 ...

  6. 【linux驱动之字符设备驱动基础】

    linux驱动之字符设备驱动基础 文章目录 linux驱动之字符设备驱动基础 前言 一.开启驱动学习之路 二.驱动预备知识 三.什么是驱动? 3.1 驱动概念 3.2 linux 体系架构 3.3 模 ...

  7. linux驱动之字符设备

    linux驱动之字符设备 linux驱动设备分类 linux驱动分为了三种驱动: 字符设备: 字符设备和应用程序之间是以字节进行进行数据交换的.在进行数据交换的时候数据是以一定顺序进行传输的,传输是实 ...

  8. Kali Linux下命令行终端的中英文切换

    Kali Linux下命令行终端的中英文切换 由于自己想下载个kali linux学习,但是苦于自己设备受限,下载了kali官网的light版本: kali-linux-light-2019.1a-a ...

  9. linux字符图形命令,神奇的 Linux 命令行字符形状工具 boxes | Linux 中国

    原标题:神奇的 Linux 命令行字符形状工具 boxes | Linux 中国 本文将教你如何在 Linux 命令行终端中使用 boxes 工具绘制字符形状图形来包装你的文字让其更突出. -- Ja ...

  10. Kali Linux打开多个终端窗口

    Kali Linux打开多个终端窗口 在Kali Linux系统中,大部分工具都是命令行工具.大学霸IT达人所以,用户需要在终端窗口执行.但是,一些操作可能需要同时执行多个命令,因此需要同时打开多个窗 ...

最新文章

  1. asp.net C#生成和解析二维码代码
  2. HttpServletrequest 与HttpServletResponse总结
  3. 【宝,我去读书了。读的什么书,给你的情书】《数据结构(c++)邓俊晖》-绪论篇
  4. HBase 的存储结构
  5. 数据采集工具flume
  6. BFS HDOJ 1242 Rescue
  7. ruby 的while
  8. gpt efi win7 linux,在EFI+GPT硬盘上利用grub2实现Linux/Win7/win8等多重启动
  9. openssl代码领读目录
  10. img pdf 展示_vue中如何实现pdf文件预览的方法
  11. 新浪邮箱注册,email注册申请
  12. matlab 实现disparity,disparity-map 利用matlab立体匹配,可获得 图像左右视图的视差图代码,效果不错238万源代码下载- www.pudn.com...
  13. Android 8.0 Activity启动流程分析
  14. 寒江独钓前辈的第一个例子的编译运行过程
  15. 简师网:新录用公务员试用期限满一年可转正!
  16. junit忽略测试方法
  17. ubuntu18.04鼠标正常使用,而键盘失灵
  18. Android开发快速入门及导出apk
  19. js关闭当前窗口、标签页
  20. 收藏!5款超级好用的小工具推荐,各个都是同类软件中的翘楚

热门文章

  1. java生成树型思维导图_Java生成思维脑图
  2. pb 如何判断数据窗口中是否有某个字段_PB中一些技巧
  3. 神经网络ANN——SPSS实现
  4. 阿阳网客:steam搬砖项目超完整版实操分享
  5. React:在发表评论功能中加入表情emoji
  6. 百度网盘直链原理解析
  7. yuki翻译器钩子_YUKI游戏翻译工具下载 YUKI GALGAME翻译器v0.14 最新版
  8. EyouCMS瀑布流分页详细教程
  9. windows下安装yarn
  10. 中国计算机学会 信息学奥赛,信息学奥赛指南ll家长篇〈一〉