Linux_Shell运行原理(命令行解释器)

一般我们叫Linux操作系统,狭义上就是指Linux内核(kernel),广义上就是Linux内核+Linux外壳程序+对应的配套程序,这里我们来详细介绍一下这个"外壳程序"。

在我们使用指令时,这个外壳程序会将我们的解释指令并传给内核,然后内核会执行指令,然后得到结果再把结果传给用户。传统意义上这个外壳实际上就是"命令行解释器",也叫Shell。Windows的图形化界面也是Shell,我们点击一个文件Windows的Shell就会解释成进入该文件。

接下来我们将细说Shell,我将它分成了 what,why,how3个问题。

1.Shell是什么?

答:Shell是一个包裹在操作系统内核之外帮用户进行命令行解释的软件层。

2.为什么要有Shell呢?

答:假如没有Shell,用户就得直接和操作系统内核交流,但要能与内核交流的学习成本太高了,远远高于学习指令(Linux)或者学习图形化界面操作(Windows)的成本,也为了让用户能更好的操作硬件(比如打印信息到显示器上)。也防止有人恶意直接篡改内核。

3.Shell具体是怎么做的?

答:Shell父进程+子进程(一个运行中的程序就可以理解为进程,后面的博客会细说),每运行一个程序Shell就会创建一个子进程,这样即使子进程挂了也不会影响到父进程(比如对0地址直接访问,会导致程序挂掉,但是之后还能正常输入指令并执行),父进程就是Shell。

而Shell就是一个统称,在Windows上就是图形化界面,在Linux上就叫做Bash。

相关推荐
潘yi.1 小时前
web技术与nginx网站环境部署
服务器·网络·nginx
安顾里1 小时前
Linux命令-iostat
linux·运维·服务器
whoarethenext1 小时前
初始https附带c/c++源码使用curl库调用
服务器·c++·qt·https·curl
100编程朱老师2 小时前
面试:什么叫Linux多路复用 ?
linux·运维·服务器
群联云防护小杜2 小时前
云服务器主动防御策略与自动化防护(下)
运维·服务器·分布式·安全·自动化·音视频
PPIO派欧云2 小时前
PPIO X OWL:一键开启任务自动化的高效革命
运维·人工智能·自动化·github·api·教程·ppio派欧云
Jtti2 小时前
Jtti:nginx服务器如何限制访问频率
服务器·网络·nginx
miracletiger2 小时前
uv 新的包管理工具总结
linux·人工智能·python
enyp802 小时前
麒麟系统(基于Ubuntu)上使用Qt编译时遇到“type_traits文件未找到”的错误
linux·qt·ubuntu
struggle20253 小时前
LinuxAgent开源程序是一款智能运维助手,通过接入 DeepSeek API 实现对 Linux 终端的自然语言控制,帮助用户更高效地进行系统运维工作
linux·运维·服务器·人工智能·自动化·deepseek