【Linux编程】2. shell命令以及运行原理

72 阅读1分钟

1.操作系统使用

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。

而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。为什么不能直接使用kernel?

1、大部分指令就是文件

2、用户执行某种功能的时候,不是直接让操作系统执行对应的指令,而是先交给外壳程序(shell)

每次输入指令时都有如下字符串,这就是命令行提示符

image.png

image.png

2.shell是什么?

shell介于用户和操作系统之间的软件,命令行解释器

为什么会存在shell?

  • 用户不善于直接和操作系统交互
  • shell外壳的存在,可以对请求进行合法性检查,变相保护操作系统

怎么做到的指令执行?

bash基本都会创建一个子进程(后面再提),帮用户进行命令行解释

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

  • 将使用者的命令翻译给核心(kernel)处理。
  • 同时,将核心的处理结果翻译给使用者。

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的 操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。

shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运 行出结果,通过shell解析给用户。

. . .