美文网首页
什么是shell?

什么是shell?

作者: 世事浮夸 | 来源:发表于2019-02-25 11:48 被阅读0次
图1. 同计算机沟通的过程

我们接触到的计算机,都是各种各样的软件,五花八门,我们也知道各种软件是由不同的计算机语言所写成的。大学计算机课就有讲过C语言或者C++语言,所以大家对计算机语言或多或少都有一些了解。

但是,很多人对计算机语言的看法是生硬,难懂,太多信息,让人想睡觉。就算打了那么久的代码,我现在看代码也是感觉很累,那为什么发明计算机语言的人要选择这种方式与计算机沟通呢?这需要讨论计算机的历史,我们下次再讲,嘻嘻!

既然计算机语言如此生硬,那能不能用简单的方法与计算机沟通?这就讲到了shell了。

什么是shell(外壳)?shell是一种user interface,即用户界面,当初计算机使用的语言非常的冗余,生硬。所以人们便想开发一种更容易懂的方式与计算机沟通,叫做shell的原因也是人们在许多已经实现但使用方法十分复杂的计算机功能上开发一个外壳,让它使用更方便。

举个例子:

我们拥有一个text文件,我们想知道它拥有多少行,在windows系统中,你们会用txt编辑器打开然后查看。这是与计算机沟通之后的结果,计算机是先把文件读入内存,然后计算其行数,然后输出。

如果了解python,那么其大概过程是这样的

图2. 用python计算文件行数

这是已经简化过后的python计算文件行数的方法,使用C语言或者basic语言会比较复杂,而且不能达到面向对象的作用。

而shell可以通过命令的方式执行查询文件行数的功能

图3. 利用wc命令查询文件行数

可以在shell中输入man wc 以查看wc命令的说明:

图4. wc命令的说明

回到shell:

所以shell就是人们为了更方便的与计算机进行沟通而开发的一系列命令集合。那么诱人说了,我觉得现在计算机的各种软件很好啊,功能齐全,不需要用到shell啊?

的确如此,现在软件的功能非常全面,而且具有图形界面,能让更多的人接受他的使用方法。但是较早开发的shell具有的优势也是无可比拟的,如速度,信息量。图形界面为了能让更多的人接受,牺牲了速度和信息量,因为图形界面归根结底还是要通过0,1与计算机沟通,我们使用的Office,Photoshop,会加载很多对于计算无用的图形信息,而且从图像信息所占空间比文字大得多,所以图形界面会比shell慢。

当然,我们在日常生活中,不需要用到那么快的计算能力,因为图形界面软件公司已经对其做了很多优化,但是像我在科研过程中,每个text文件就能占几十GB的时候,速度往往是最重要的。

下期预告:

我们大概认识了shell,就可以准备开始系统的学习了,下期我会以bash shell作为例子,讲讲bash shell能做些什么。

第一次写东西,如有不妥不实,请多多谅解!

相关文章

  • shell 介绍

    shell 介绍 什么shell shell功能 一、什么是shell shell是一个程序,采用C语言编写,是用...

  • Shell第一天

    Shell第一天 1.什么是shell? 2.什么是shell脚本 3.shell能做什么 4.学习shell脚本...

  • linux bash简介

    linux bash是一种shell,还有很多其他的shell。那么什么是shell 1. 什么是shell 电脑...

  • 2018-09-26

    shell脚本 1.1、什么是shell脚本(shell script , ...

  • 四、 认识脚本和shell判断表达式

    shell脚本 一、什么是 shell script shell script 是利用 shell 的功能所写的一...

  • shell第11章shell脚本

    什么是shell? Bash shell: 什么是shell脚本? 变量的介绍: 普通变量介绍: 环境变量介绍: ...

  • day28 课堂笔记(shell编程基础)

    第一章、SHELL 1.1、为什么要学习shell编程? 1.2、什么是shell? 1.3、shell的分类 1...

  • 什么是Shell?

    什么是命令行? 命令行界面(Command Line Interface,CLI)。 什么是Shell? 在计算机...

  • 什么是Shell

    本来是想看一些关于xss的相关内容,看着看着突然觉得还是要shell也一起看的好,因此就有了这边文章(浅尝辄止无笑...

  • 什么是 shell

    之前碰到了很多地方用到了 shell 命令或者别的什么的。比如 python 中支持 shell 功能,djang...

网友评论

      本文标题:什么是shell?

      本文链接:https://www.haomeiwen.com/subject/jeewyqtx.html