理解shell

13次阅读

共计 1183 个字符,预计需要花费 3 分钟才能阅读完成。

对于入门者来说,很多词语都是一知半解的状态,对于 shell 也是如此,今天我就来理一理这个词语

shell 是个什么东西

  1. 翻译成中文“壳(qiao)”这就形象多了,壳是外面的,那么必然要有里面的,里面的就是“核”也就是内核

    在计算机科学中,壳指“为使用者提供操作界面”的软件(命令解析器)。它类似于 DOS 下的 command.com 和后来的 cmd.exe。它接收用户命令,然后调用相应的应用程序。

  2. 我们在使用计算机的时候,从来都不是跟 cpu 说话,而是跟电脑的应用程序打交道,跟对话框打交道,跟命令打交道,我们跟计算机内核之间有一个桥梁,这个桥梁就是 shell

仅仅这些吗?

  • 既然都这么问了,那就必然不是。
  • shell 也指语言(针对于这种 shell 的语言)。
  • 我们可以把 shell 理解成一个程序,程序实现的功能我们之前已经提到了。
  • 与音乐软件类比,我们听歌有不同的软件,shell 也有不同的软件,而且会更新,我们对 shell 的操作,与他的对话需要通过 shell 语言来进行。

分类

shell 分为两大类,分别是:

  1. 图形界面 shell
  2. 命令行式 shell

在 windows 里(举例)

  • 我们用鼠标对软件的点击从而获得电脑的反应的过程可以理解为我们对于 shell 的操作
  • cmd 则是我们用命令行式的操作

shell 版本

一:图形界面 shell(Graphical User Interface shell 即 GUI shell)

应用最为广泛的 Windows Explorer(微软的 windows 系列操作系统),还有也包括广为人知的 Linux shell,其中 linux shell 包括 X window manager (BlackBox 和 FluxBox),以及功能更强大的 CDE、GNOME、KDE、XFCE。

二、命令行式 shell(Command Line Interface shell,即 CLI shell)

  • bash / sh / ksh / csh / zsh(Unix/linux 系统)
  • (MS—DOS 系统)
  • Cmd.exe/ 命令提示字符(Windows.NET 系统)
  • Windows PowerShell(支持 .NET Framework 技术的 Windows NT 系统)

在 linux 里

我们下载 centos 的时候现在的版本支持很多的 shell,学习的时候默认的是 bash,可以直接在命令行中敲入版本的名称来进行改变(当然前提是 linux 里具备这个版本)

广义与狭义

据我目前理解的来看,shell 有两种理解方法,我们以上提到的算是广义的,即:包括图形与命令行式。但是具体我们提到的时候往往指的是命令行式的 shell。

写在最后

当我们写了一大段命令然后让 shell 对这段命令自动运行的时候,包含这段命令的文件就称之为脚本,所以 shell 语言也是脚本语言; 所谓脚本语言是指那些不需要编译,可以直接用,由解释器来负责解释的语言。我们可以用脚本语言来写出脚本从而实现一系列的操作。

正文完
 0