Linux-shell运行命令和运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。
而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?

比如下面这个例子:

你是一个程序员,你比较害羞,你是用户命令:

小美时美女,你喜欢她,小美是核心

但是你太害羞了,说话吞吞呜呜的,不适合和小美直接交流,此时就需要媒婆(王婆)(shell外壳)来做媒介,将你的意思传达给小美,小美同意,命令执行成功,不喜欢,命令执行失败

小美不同意,但是你强行要王婆传达命令,王婆心想我不能砸我自己的牌子啊,所以就会找实习生来替她办事,无论实习生(子进程)做的好坏都不影响王婆的招牌。

总结:我们可以得出,shell运行的原理就是,创建子进程,让子进程对命令进行翻译给核心,子进程无论发生什么问题,都不会影响父进程(shell),shell进程的最主要作用在于保护内核的安全的同时,也会去创建子进程保护自己,子进程翻译失败,也不会影响父进程

你可能感兴趣的:(linux,linux,运维,服务器)