Linux指令执行的过程

我们Linux中大部分指令都是文件,用户在执行某种功能的时候不是直接让操作系统执行某个指令的,而是交给某个外壳程序
在这里插入图片描述

用户与内核的关系大概是下面这样
在这里插入图片描述
我们用户无法直接访问操作系统,往往需要在操作系统外面套上一个外壳程序方便我们访问。
常见的外壳程序有Linux的命令行和Windows的图形化界面,都是外壳程序(shell的中文意思也是壳)。外壳程序不仅可以方便我们和操作系统进行交互,因为外壳程序的存在,还可以对我们的命令进行合法性检查,从而保护了操作系统。
在这里插入图片描述
我们每次输入命令前都会有一串字符串,这个叫命令行提示符,我们后面输入的命令会交给shell程序处理,处理的结构交给操作系统,操作系统返回的结果交给shell程序,shell程序处理后显示给用户。

整理一下:
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。
从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

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

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符)。
shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

shell是一个外壳程序的统称,像bash就是shell程序的一种,开机系统启动以后,就会启动bash方便与用户交互。

但是我们执行命令行的时候并不是bash进行执行的,而是bash创建子进程执行,子进程帮用户进行命令行解释,bash等待子进程执行的结果。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值