原文链接

终端(terminal,或者叫物理终端):
是一种设备,不是一个程序,一般说的就是能提供命令行用户界面的设备,典型的是屏幕和键盘,或其他的一些物理终端。
虚拟终端:
屏幕和键盘只是一个终端,可能不够用,又不想增加设备投入,就产生了虚拟终端。
gnome-terminal,urxvt,mlterm,xterm等等:
是一个程序,职责是模拟终端设备,和虚拟终端的区别表面上在于它以 GUI 形式的窗口出现,内部则是程序结构和系统控制结构有所不同,但本质上差不多。
控制台(console):
显示系统消息的终端就叫控制台,Linux 默认所有虚拟终端都是控制台,都能显示系统消息。
但有时专指CLI下的模拟终端设备的一个程序,和gnome-terminal,urxvt,mlterm,xterm等相同,只是CLI和GUI界面的区别。一般console有6个,tty1-6,CTRL+ALT+fn切换。还没听说过怎么换console

shell是一个抽象概念,shell的一切操作都在计算机内部,负责处理人机交互,执行脚本等,是操作系统能正常运行的重要组成部分
bash,ash,zsh,tcsh等是shell这个抽象概念的一种具体的实现,都是一个程序,都能生成一个进程对象。
如果想换shell的程序,可以修改/etc/passwd,把里面的/bin/bash换成你想要的shell,或者用chsh命令来切换

shell与终端的关系:shell把一些信息适当的输送到终端设备,同时还接收来自终端设备的输入。一般每个shell进程都会有一个终端关联,也可以没有。

berkeleysong

shell,bash,zsh,console,terminal到底是什么意思,它们之间又是什么关系?的更多相关文章

  1. s5pv210启动debian出错提示bash: cannot set terminal process group (-1): Inappropriate ioctl for device

    1.启动参数如下: bootargs=root=/dev/nfs nfsroot=192.168.1.8:/opt/wheezy_fs ip=192.168.1.9:192.168.1.8:192.1 ...

  2. 什么是shell? bash和shell有什么关系?

    什么是shell? bash和shell有什么关系? 博客分类: Linux   什么是Shell?      shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序 ...

  3. 什么是shell? bash和shell有什么关系?

    什么是Shell?      shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序.你在提示符下输入的每个命令都由shell先解释然后传给Linux内核.      ...

  4. [daily] 宇宙终极shell之zsh

    序 很久以前,我就知道zsh.后来在并不遥远的好几年前,第一次装arch的时候,默认shell就是zsh.虽然用起来不太习惯,但是仍然蛮好用的. 决定好好的学一下zsh,如果可以就切换过去,毕竟bas ...

  5. linux - console/terminal/virtual console/pseudo terminal ...

    http://en.wikipedia.org/wiki/System_console System console Knoppix system console showing the boot p ...

  6. linux shell & bash

    shell & bash shell指允许用户通过文本操作计算机的程序. interactive shell:从是否通过标准输入输出与用户进行交互的角度分为交互式shell(interacti ...

  7. shell/bash 让vi/vim显示空格,及tab字符

    shell/bash 让vi/vim显示空格,及tab字符 Vim 可以用高亮显示空格和TAB.文件中有 TAB 键的时候,你是看不见的.要把它显示出来::set listTAB 键显示为 ^I,   ...

  8. Linux编程环境介绍(2) -- shell(Bash) 介绍

    1. 在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器).它类似于DOS下的command和后来的cmd.exe. 2. bash (Bourne Aga ...

  9. 20181225-Linux Shell Bash环境下自动化创建ssh互信脚本

    20181225-Linux Shell Bash环境下自动化创建ssh互信脚本 1. 我的Blog 博客园 https://www.cnblogs.com/piggybaba/ 个人网站 http: ...

随机推荐

  1. hibernate和mybatis区别

    看图    Hibernate mybatis 难易度 难 简单,容易上手 编码 良好的映射机制,不需要关心 需要手动编写sql,resultMap 调优 制定合理的缓存策略: 尽量使用延迟加载特性: ...

  2. struts2系列(四):struts2国际化的多种方式

    一.struts2国际化原理 根据不同的Locale读取不同的文本. 例如有两个资源文件: 第一个:message_zh_CN.properties 第二个:message_en_US.propert ...

  3. iOS下OpenCV开发配置的两个常见问题(sign和link)

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 先上可以运行官方推荐的<OpenCV for iOS samples>的demo链 ...

  4. 值得学习的C/C++开源框架(转)

    值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ...

  5. 数据分析基础之Linalg的使用

    Linear algebra 简介 When SciPy is built using the optimized ATLAS LAPACK and BLAS libraries, it has ve ...

  6. Windows 安装 python2.7

    Windows 安装 python2.7 python2.7下载地址: https://www.python.org/downloads/release/python-2714/ 安装过程: 设置系统 ...

  7. Building Block

    Building Block Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...

  8. Unity 游戏框架搭建 (七) 减少加班利器-QApp类

    本来这周想介绍一些框架中自认为比较好用的小工具的,但是发现很多小工具都依赖一个类----App. App类的职责: 1.接收Unity的生命周期事件. 2.做为游戏的入口. 3.一些框架级别的组件初始 ...

  9. 线程轮循打印ABC...

    package com.java.concurrent; import java.util.concurrent.locks.Condition; import java.util.concurren ...

  10. vue.js项目安装

    Vue.js 安装 NPM 方法安装vue.js项目 npm 版本需要大于 3.0,如果低于此版本需要升级它: # 查看版本 $ npm -v 2.3.0 #升级 npm npm install np ...