`
iame
  • 浏览: 130242 次
  • 性别: 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...

    easyexplore linux 增强 打开terminal ,editor and filemanager

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

    超级终端Hyper Terminal

    超级终端:Hyper Terminal.rar arm-linux开发板开发工具。

    kill a terminal in linux system

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

    浅谈Pycharm中的Python Console与Terminal

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

    linux terminal版本的网络调试助手

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

    serial_usb_terminal1.32,手机console

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

    XTerminal-1.8.1

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

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

    基于linux的终端下的医疗信息管理系统,要cusrses库的支持,进行三部分(单位、人、病历)信息的录入、检索、修改、实时记录等。基于开源的思想,全由个人实现所有代码,有待进行整理

    Hyper Terminal 配置

    主要说明如何在虚拟机上简单的配置和使用Hyper Terminal

    the linux command line

    The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell. Along the way you'll learn the timeless skills handed down by...

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

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

    linux-terminal:Linux Terminal getch,kbhit,彩色文本等

    linux终端 Linux Terminal getch,kbhit,彩色文本等

    The Linux Command Line英文版_terminal_linux_

    The Linux Command Line英文版

    超级终端HyperTerminal

    超级终端,HyperTerminal,win7也可以使用的超级终端

    【Linux】->Linux基本概念及操作

    Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成用户输入和显示输出,Linux 系统还提供了一个叫做终端模拟器的程序(Terminal)。...

    Terminal for Linux-开源

    Terminal for Linux 是一款适用于 Linux 的免费软件终端模拟器(通信程序)。 它支持 VT100 仿真。 它是用 Qt 4.7.4 编写的

    xTerminal是一个多终端的远程WebShell工具

    xTerminal是一个多终端的远程Web Shell工具。你可以通过浏览器根据特定的设备MAC地址登录到你的Linux设备。 它非常适合公司对公司部署在全球各地的成千上万的Linux设备进行远程调试。它基于evmongoose实现,由客户端...

    linux-mint-via-terminal:通过终端使用Linux Mint(或Ubuntu)的快速参考

    linux-mint-via-terminal:通过终端使用Linux Mint(或Ubuntu)的快速参考

    tiny core linux4.2.1

    Tiny Core Linux是一份很小(10 MB)的最低限度Linux桌面。最新版本基于Linux 3.x内核、Busybox、Tiny X、FLTK图形用户界面、JWM窗口管理器,全部运行在内存中。它并非一份完整的桌面,也不完整支持所有的硬件;它只...

Global site tag (gtag.js) - Google Analytics