一个完整的计算机,整体结构如下图:

img

①我们的计算机由硬件组成,包括CPU、内存、主板、磁盘、各种外设等等。当这台计算机没有安装任何软件,只是一个硬件的集合体时,也叫做 裸机(纯硬件)。

②操作系统是系统软件,操作系统的内核控制着和管理计算机上的所有硬件和软件,从而进行任务调度、资源分配等。操作系统起到承上启下的作用。

③我们平时使用的应用软件(或叫应用程序),如QQ音乐、英雄联盟等,是基于操作系统开发的,可以理解为在操作系统的上层。这些程序的开发往往调用了操作系统提供的接口,离开了操作系统是无法独立运行的。

Shell是一个特殊的应用程序,介于操作系统内核和用户之间,是一个“命令解释器”,负责接受用户输入的指令并进行解释,将需要执行的操作传递给内核执行,并输出执行结果返回给用户。

在linux早期是没有图形化界面的,与系统进行交互的唯一方式就是通过shell提供的命令行界面(command-line interface, CLI)。同样在工作中,需要通过本机登录内网开发机,使用命令行界面进行开发,从而保障安全性。

命令行界面只接受文本输入。我们想使用shell进行开发,则需要深入了解shell的命令,后续文章会对shell命令进行详细的介绍,本专栏主要针对想入门shell的新同学,有问题欢迎评论或私信,共同交流,一般周末公司不加班都会回复~~~

PS : 在厂里搬砖,基本都是在linux机器上进行开发的。很多同学在校时大多在机子上装个Pycharm之类的IDE就足够完成科研任务了,这也使得刚工作后不太熟悉linux开发的节奏。