`
iame
  • 浏览: 132095 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Linux下的Terminal、Console两个概念辨析

阅读更多

本文参考了如下两篇文章:

http://wangcong.org/blog/?p=423
http://blog.chinaunix.net/u/6436/showart_1003495.html

 

这两个术语从中文意思上很容易混在一起,但他们确实是两个不同的概念。

 

传统上讲,terminal(终端),其实是处于用户使用系统的角度来说的,相对于提供服务的系统终端是用户使用这个系统的入口。而console(控制台)更强调是控制系统的地方,其使用者主要是管理员。从概念上讲terminal的范围比console要广。

 

tty(终端设备的统称)
tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后 来这东西被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。

 

终端分为很多种

1)串行端口终端,对应windows上的COM1,COM2...的概念。在Linux中,他们对应的设备为/dev/ttySn(像我的机器上四个串口,就对应/dev/ttyS0~/dev/ttyS3).

2)控制台终端

   真实的硬件设备,对应的设备是/dev/console,除了实际的Console,Linux还定义了Virtual Console,分别对应与/dev/tty1~tty63.其中ctrl+alt+Fn(n:1~6)可以分别切换到tty1~tty6六个Virtual Console.

  /dev/tty0比较特殊,他对应当前的console.

3)伪终端(pseudo-tty)

  伪终端是一对虚拟设备,提供端到端双向通信的通路,一端 称为master,另一端称为slave。在slave那端看到的和在真实终端看到的效果一样。所以伪终端一般被ssh等网络登录程序使用。历史上,有两 套伪终端接口,一个是Unix 98伪终端,另一个是BSD伪终端。

  BSD伪终端对应的设备为:/dev/pty[p-za-e][0-9a-f] 是master; /dev/tty[p-za-e][0-9a-f] 是slave,它们都是配好对的。

  Unix 98伪终端则完全不同,它始终使用/dev/ptmx作为master复制设备,然后在每次打开它的时候才得到一个master设备的fd,同时在 /dev/pts/目录下得到一个slave设备。

  不同发行版采用的伪终端接口不同,不过BSD伪终端方式逐渐被舍弃,而倾向于Unix98伪终端接口。

  我使用的的Ubuntu9.04就是Unix98伪终端。在X window模式下,每开一个Gnome-Termial,就会在/dev/pts/目录下多一个文件(通过telnet登录也是如此),可以echo "hello,xxx" >/dev/pts/1,则在对应第一个伪终端的命令行行上出现“hello,xxx"输入。

4)其他。

分享到:
评论

相关推荐

    Jetson AGX Xavier Linux pycharm Terminal 终端补丁

    Jetson AGX Xavier Linux pycharm Terminal 终端补丁cannot open terminal。Jetson AGX Xavier Linux pycharm Terminal 终端补丁cannot open terminal。覆盖 pycharm/lib/pty4j-native/linux/ 里面的3个目录里面的so...

    为Linux系统配置serial console

    ### 为Linux系统配置Serial Console #### 一、概述与基础知识 **Serial Console**是一种将计算机系统的控制台输出重定向到串行端口的技术。它允许管理员通过串行连接访问和控制服务器或嵌入式系统,即使在没有图形...

    浅谈Pycharm中的Python Console与Terminal

    Pycharm的下方工具栏中有两个窗口:Python Console和Terminal(如下图) 其中,Python Console叫做Python控制台,即Python交互模式;Terminal叫做终端,即命令行模式。 Python交互模式主要有两种:CPython用>>>作为...

    easyexplore linux 增强 打开terminal ,editor and filemanager

    安装方法:将其中的一个jar 文件,copy 到eclipse/plugins 目录里 本人下载了easyexplore1.2.1 的源代码, 然后重现添加了一些功能,这些功能在windows 上或许没太大用处,但是在Linux用处或许会很大 实现的功能, 1...

    超级终端Hyper Terminal

    在Linux环境下,虽然没有内置的Hyper Terminal,但有许多类似的终端模拟器工具,例如PuTTY、Minicom和Gnome Terminal等,它们同样能够实现与远程设备的连接和通信。对于arm-linux开发板的开发工作,这些工具能够帮助...

    思科串口调试HyperTerminal,思科串口调试HyperTerminal

    不过,随着技术的发展,现代网络管理工具如Cisco Packet Tracer、GNS3和SecureCRT等已经提供了更强大、更直观的界面,但了解并掌握HyperTerminal的基本操作仍然是每一个网络工程师的必备技能,特别是应对紧急情况时...

    kill a terminal in linux system

    在LINUX下终止一个终端的SHELL命令

    linux下的基于terminal的医疗信息管理系统

    总的来说,"Linux下的基于Terminal的医疗信息管理系统"是一个结合了Linux终端编程、数据库管理、数据安全和开源协作的复杂项目,对于提升医疗行业的信息化水平和数据管理水平具有重要意义。通过不断迭代和完善,这个...

    linux terminal版本的网络调试助手

    linux c写的网络调试助手,terminal运行无界面,附源码。可方便地进行tcp/udp连接的建立,消息的发送、接收。方便地测试linux系统的网络环境。可以与windows版本的netassist进行互调。对于,linux基础的网络编程学习...

    Hyper Terminal 配置

    2. **配置客户端**:对于客户端,我们需要创建两个不同的Hyper Terminal会话,分别对应两个客户端(Client1和Client2/Client3)。每个客户端的配置方法与服务器相同,但连接的COM端口应与服务器相对应。例如,Client...

    The Linux Command Line英文版_terminal_linux_

    在Linux的世界里,终端(Terminal)或控制台(Console)是与系统交互的主要方式之一,它提供了一种高效且强大的文本界面,用于执行各种系统管理任务。 本书主要涵盖了以下关键知识点: 1. **基础命令**:首先,你...

    Linux下的终端使用技巧

    此外,提到“命令行”和“vim”,这里简要介绍这两个概念: 命令行(Command Line Interface, CLI)是一种直接通过键盘输入指令与计算机交互的方式,具有高效、灵活的特点,适合于系统管理员和高级用户进行复杂操作...

    XTerminal-1.8.1

    XTerminal 提供了一个图形用户界面,用户可以通过它来执行命令行操作,访问文件系统,编译程序,进行系统管理等操作。 XTerminal 的特点包括: 1. **多标签支持**:用户可以在同一个窗口中打开多个标签页,方便...

    serial_usb_terminal1.32,手机console

    可以配置console交换机,串行USB终端”是一个终端应用程序,适用于微控制器、arduinos或其他具有串行/UART接口的设备,该接口通过USB到串行转换器连接到android设备。该应用程序支持基于-FTDI FT232R-Prolific PL...

    console接口线序

    当两个DTE设备互联时,如Console Server与设备,它们需要使用反转电缆,使得A设备的接收线接到B设备的发送线,反之亦然,以确保数据的正确传输。同时,GND(接地线)也需要连接,以保证信号的稳定。 在DTE与DCE(如...

    手机配置交换机Console-蓝牙转RS232模块app-支持常见蓝牙模块

    Serial Bluetooth Terminal 中文简介 “串行蓝牙终端”是面向线路的终端/控制台应用程序,适用于微控制器,arduinos和其他设备,其串行/ UART接口与蓝牙到串行转换器连接到您的Android设备。 此应用程序支持不同的...

    fluent_terminal.zip

    这款工具支持多种shell集成,包括CMD、PowerShell、WSL (Windows Subsystem for Linux)以及各种版本的Git Bash等,这意味着用户无需离开熟悉的命令行环境,就能轻松切换不同的shell环境,满足不同场景下的工作需求。...

    Terminal for Linux-开源

    Qt支持多种操作系统,包括Linux、Windows、macOS等,这使得Terminal for Linux可以在不同的操作系统环境下运行。 **VT100仿真** VT100是DEC公司推出的一种早期的终端型号,其仿真指的是Terminal for Linux兼容VT...

    Console 子进程 父进程

    在计算机编程领域,尤其是涉及到操作系统和进程管理时,"Console 子进程 父进程" 是一个关键概念。本文将详细解析这个主题,探讨Console应用程序、子进程与父进程之间的关系,以及它们在实际操作中的应用。 首先,...

Global site tag (gtag.js) - Google Analytics