Linux~Linux中的虚拟终端和shell

Linux中的虚拟终端

  • 所谓虚拟,是因为物理上它还是在本机上的一个软件控制台,而不是一个真正的远程物理终端,但是虚拟终端确在实现上显得更统一了,这就像Linux同等对待设备和一般文件一样。
  • Linux是一个多终端的操作系统,可以使用同一个用户ID在多个终端上同时登陆。
  • Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 控制台虚拟终端)来让用户登录。在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换。
  • 输入tty可以查看现在是哪个终端。
  • 虚拟终端均由 mingetty 程序产生。
    在这里插入图片描述

shell

shell的含义

首先shell的英文含义是“壳”;

  • 它是相对于内核来说的,因为它是建立在内核的基础上,面向于用户的一种表现形式,比如我们看到一个球,见到的是它的壳,而非核。
  • Linux中的shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息.

shell在Linux中的存在形式

  • 由于Linux不同于Windows,Linux是内核与界面分离的,它可以脱离图形界面而单独运行,同样也可以在内核的基础上运行图形化的桌面。

  • 这样,在Linux系统中,就出现了两种shell表现形式,一种是在无图形界面下的终端运行环境下的shell,另一种是桌面上运行的类似Windows 的MS-DOS运行窗口,前者我们一般习惯性地简称为终端,后者一般直接称为shell.

shell如何执行用户的指令

  • shell有两种执行指令的方式,第一种方法是用户事先编写一个sh脚本文件,内含shell脚本,而后使用shell程序执行该脚本,这种方式,我们习惯称为shell编程。

  • 第二种形式,则是用户直接在shell界面上执行shell命令,由于shell界面的关系,大家都习惯一行行的书写,很少写出成套的程序来一起执行,所以也称命令行。

  • 总结:shell可以说只是为用户与机器之间搭建成的一个桥梁,让我们能够通过shell来对计算机进行操作和交互,从而达到让计算机为我们服务的

总而言之:
终端就是一个shell的模拟.
shell是一个人机交互的软件