`
wx1568037608
  • 浏览: 34818 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

终端(terminal)、tty、shell、控制台(console)、bash之间的区别与联系

 
阅读更多

1、终端(terminal)

终端(termimal)= tty(Teletypewriter, 电传打印机),作用是提供一个命令的输入输出环境,在linux下使用组合键ctrl+alt+T打开的就是终端,可以认为terminal和tty是同义词。

2、shell

shell是一个命令行解释器,是linux内核的一个外壳,负责外界与linux内核的交互。shell接收用户或者其他应用程序的命令, 然后将这些命令转化成内核能理解的语言并传给内核, 内核执行命令完成后将结果返回给用户或者应用程序。当你打开一个terminal时,操作系统会将terminal和shell关联起来,当我们在terminal中输入命令后,shell就负责解释命令。

3、console

在计算机发展的早期,计算机的外表上通常会存在一个面板,面板包含很多按钮和指示灯,可以通过面板来对计算机进行底层的管理,也可以通过指示灯来得知计算机的运行状态,这个面板就叫console。在现代计算机上,在电脑开机时(比如ubuntu)屏幕上会打印出一些日志信息,但在系统启动完成之前,terminal不能连接到主机上,所以为了记录主机的重要日志(比如开关机日志,重要应用程序的日志),系统中就多了一个名为console的设备,这些日志信息就是显示在console上。一台电脑有且只有一个console,但可以有多个terminal。举个例子,电视机上的某个区域一般都会有一些按钮,比如开机,调音量等,这个区域就可以当做console,且这个区域在电视上只有一个,遥控器就可以类比成terminal,terminal可以有多个。

4、bash

linux系统上可以包含多种不同的shell(可以使用命令 cat /etc/shells 查看),比较常见的有Bourne shell (sh)、C shell (csh) 和 Korn shell (ksh),三种shell 都有它们的优点和缺点。Bourne shell 的作者是 Steven Bourne,它是 UNIX 最初使用的shell 并且在每种 UNIX 上都可以使用。bash的全称叫做Bourne Again shell,从名字上可以看出bash是Bourne shell的扩展,bash 与 Bourne shell 完全向后兼容,并且在 Bourne shell 的基础上增加和增强了很多特性,如命令补全、命令编辑和命令历史表等功能,它还包含了很多 C shell 和 Korn shell 中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。总而言之,bash是shell的一种,是增强的shell。

分享到:
评论

相关推荐

    linux下tty,控制台,虚拟终端,串口,console(控制台终端)详解实用.pdf

    "Linux下的TTY、控制台、虚拟终端、串口、Console详解" 1. 终端和控制台概念 ...Linux 下的 TTY、控制台、虚拟终端、串口、Console 都是不同的概念,了解它们的区别和联系,对于更好地使用 Linux 系统非常重要。

    串口驱动分析和Linux终端控制台体系

    ### 串口驱动分析与Linux终端控制台体系详解 #### 数据通信基础 数据通信主要分为两种形式:**并行通信**与**串行通信**。 - **并行通信**:利用多条数据线同时传输数据的每一位。其优点在于传输速度较快,但由于...

    Linux终端tty设备驱动编程.

    3. 控制台终端:控制台终端包括/dev/ttyn和/dev/console,其中/dev/tty是当前进程的控制终端的设备特殊文件。控制台终端通常指的是计算机显示器,可以支持多个虚拟终端,如tty1至tty6。 在Linux中,终端设备驱动的...

    Linux基础之终端、控制台、tty、pty简介说明

    ##### 4、控制台终端 (/dev/ttyn, /dev/console) - **定义**:**控制台终端** 是指计算机的显示器。 - **用途**:主要用于系统消息的显示。 - **示例**:使用 Alt + F1~F6 可以在不同的虚拟终端间切换。 - **控制台...

    将Linux系统的控制台定向到串口终端

    将Linux系统的控制台定向到串口终端是一种节省资源和实现远程监控的有效方法,尤其适用于嵌入式系统或者服务器环境。这个过程涉及到系统配置、内核修改、启动脚本的调整以及LILO(或者GRUB)的配置。 首先,你需要...

    tty.rar_linux tty_tty

    Linux的`console`子系统允许用户在不同TTY之间切换,这通常由`vt(Video Terminal)`子系统来实现。系统默认会有一个图形界面(X Window System或Wayland)运行在Ctrl+Alt+F7上。 7. **PTY(Pseudo TTY)** 除了...

    02-RHEL7-Linux控制台使用与shell命令执行

    Linux控制台使用和Shell命令执行是Linux操作系统中用户与系统交互的基础。在RHEL 7(Red Hat Enterprise Linux 7)版本中,这些操作同样重要,并且与旧版本相比有许多改进和特性。为了更好地理解和掌握Linux控制台的...

    虚拟终端notty.zip

    跟那些程序不一样的地方是,notty 不是为了模拟一个 DEC VT 系列的物理视频终端,或者是其他物理设备,而是为其他终端无法模拟的物理终端命令行添加新特性。notty 是面向文本,命令行用户接口的终端模拟器,扩展一些...

    Linux 控制台终端

    在Linux系统中,控制台终端是操作系统与用户交互的基础,尤其在没有图形界面的情况下,控制台终端显得尤为重要。本文将详细解析Linux控制台参数以及printk如何将信息输出到控制台的过程。 首先,Linux内核在启动时...

    通信演示程序(类似TTY).rar_terminal_tty 演示

    标题中的“通信演示程序(类似TTY).rar_terminal_tty 演示”指的是一个用于模拟TTY(Teletype)通信的程序。TTY是早期的一种电传打字机设备,后来演变成一种通信协议,特别是在计算机系统中用于串行通信。这个程序...

    Linux的TTY介绍

    - **控制台终端**(/dev/ttyn,/dev/console):控制台终端是指系统启动后默认显示的终端,通常与显示器相关联。Linux系统中有多个虚拟终端,如 tty1 到 tty6,可以通过 Alt + [F1-F6] 组合键进行切换。/dev/console ...

    对于Linux内核tty设备的一点理解

    TTY设备是Unix系统中的一种重要字符型设备,它通过各种物理或虚拟终端提供用户与计算机之间的交互接口。 在Linux中,TTY设备包含多个不同的类别,其中最常见的是串口(例如ttyS0、ttyUSB0等)、控制台(如/dev/...

    Linux 设备模型之终端设备(tty)驱动架构分析

    3. **控制台终端**(`/dev/ttyn`, `/dev/console`):控制台终端是系统启动时默认使用的终端,通常是物理连接到计算机的显示器和键盘。 #### 二、终端设备驱动结构 ##### 2.1 TTY 架构概览 TTY 设备的核心组件...

    实验1 Red Hat的操作 - 副本.doc

    2. **控制台与虚拟终端**: - 在Linux中,可以通过Ctrl+Alt+F1至F6在不同的虚拟控制台之间切换。在实验中,从当前控制台切换到tty4虚拟控制台。 3. **运行级别查看与切换**: - `runlevel`命令用来查看当前运行...

    bash_shell讲义

    - **交互性**:Shell独立于终端,可以适应不同的终端环境,如TTY(Teletype),控制台等。 **Readline与Shell的关系** Readline是一个库,用于扩展终端的输入功能,比如命令行编辑、历史记录检索。在用户输入命令行...

    serial-console串口控制台1

    在Linux系统中,串口控制台(Serial Console)是一种通过串行端口与操作系统进行交互的方式,尤其在没有图形界面或者网络连接的情况下,它显得尤为重要。要设置Linux系统使用串口控制台,首先需要确保在内核编译时...

    华为智能计算培训 Shell基础

    7. 终端与TTY(控制台终端): - 控制台终端(TTY)是由getty软件虚拟的,例如tty1-tty6,可以通过`Ctrl+Alt+F1-F6`进行切换。 - 图形界面和字符界面之间可通过`Ctrl+Alt+F2-6`切换。 - `w`, `who`, `whoami`命令...

    tty、pty、pts等(小记) - CSDN博客1

    tty、pty、pts 等概念解析 tty 是 Teletype 的缩写,中文...tty、pty、pts 等概念都是计算机终端领域的重要概念,它们之间存在一定的联系和区别,了解这些概念可以帮助我们更好地理解计算机系统的工作原理和实现方式。

Global site tag (gtag.js) - Google Analytics