![](https://img.haomeiwen.com/i11905400/9ee28b90473dfce6.png)
我们接触到的计算机,都是各种各样的软件,五花八门,我们也知道各种软件是由不同的计算机语言所写成的。大学计算机课就有讲过C语言或者C++语言,所以大家对计算机语言或多或少都有一些了解。
但是,很多人对计算机语言的看法是生硬,难懂,太多信息,让人想睡觉。就算打了那么久的代码,我现在看代码也是感觉很累,那为什么发明计算机语言的人要选择这种方式与计算机沟通呢?这需要讨论计算机的历史,我们下次再讲,嘻嘻!
既然计算机语言如此生硬,那能不能用简单的方法与计算机沟通?这就讲到了shell了。
什么是shell(外壳)?shell是一种user interface,即用户界面,当初计算机使用的语言非常的冗余,生硬。所以人们便想开发一种更容易懂的方式与计算机沟通,叫做shell的原因也是人们在许多已经实现但使用方法十分复杂的计算机功能上开发一个外壳,让它使用更方便。
举个例子:
我们拥有一个text文件,我们想知道它拥有多少行,在windows系统中,你们会用txt编辑器打开然后查看。这是与计算机沟通之后的结果,计算机是先把文件读入内存,然后计算其行数,然后输出。
如果了解python,那么其大概过程是这样的
![](https://img.haomeiwen.com/i11905400/a17f85101a555d3b.png)
这是已经简化过后的python计算文件行数的方法,使用C语言或者basic语言会比较复杂,而且不能达到面向对象的作用。
而shell可以通过命令的方式执行查询文件行数的功能
![](https://img.haomeiwen.com/i11905400/c6b8e15fd944bbaa.png)
可以在shell中输入man wc 以查看wc命令的说明:
![](https://img.haomeiwen.com/i11905400/b62f4108b5abfd3f.png)
回到shell:
所以shell就是人们为了更方便的与计算机进行沟通而开发的一系列命令集合。那么诱人说了,我觉得现在计算机的各种软件很好啊,功能齐全,不需要用到shell啊?
的确如此,现在软件的功能非常全面,而且具有图形界面,能让更多的人接受他的使用方法。但是较早开发的shell具有的优势也是无可比拟的,如速度,信息量。图形界面为了能让更多的人接受,牺牲了速度和信息量,因为图形界面归根结底还是要通过0,1与计算机沟通,我们使用的Office,Photoshop,会加载很多对于计算无用的图形信息,而且从图像信息所占空间比文字大得多,所以图形界面会比shell慢。
当然,我们在日常生活中,不需要用到那么快的计算能力,因为图形界面软件公司已经对其做了很多优化,但是像我在科研过程中,每个text文件就能占几十GB的时候,速度往往是最重要的。
下期预告:
我们大概认识了shell,就可以准备开始系统的学习了,下期我会以bash shell作为例子,讲讲bash shell能做些什么。
第一次写东西,如有不妥不实,请多多谅解!
网友评论