shell命令以及运行原理(详解)

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。 而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。
1.从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:
  • 将使用者的命令翻译给核心(kernel)处理。
  • 同时,将核心的处理结果翻译给使用者。
2.对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的 操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。
3.shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运 行出结果,通过shell解析给用户。

                                        

补充: 

1.命令行和图形化界面

shell命令以及运行原理(详解)_第1张图片

                        


2.OS和外壳程序的关系

shell命令以及运行原理(详解)_第2张图片

                

3.shell外壳

①  什么是she1l外壳 : 包裹在操作系统外层的软件层,方便用户和OS进行沟通

②  shell : 接受用户的输入,交给OS执行,得到结果反馈给用户

③  shell的作用 :a.交互  b.保护OS
④  shell是所以外壳程序的统称,笼统的概念 ;bash是一种具体的shell
centOS7的外壳程序是: bash

                
        
                        

4.Linux外壳程序的理解:

①shell是进行命令行解释的 ,命令行解释器在系统层面上就是一个进程!

②保证内核的安全运行的同时,也要保证自身的安全,如何保护?                                             shell进程->创建子进程去进行命令行解释->如果失败是不会影响shell进程。

③大部分指令的运行,都是会变成进程的。

         

                       

5.shell进程 

①执行一个程序

shell命令以及运行原理(详解)_第3张图片

                 

②进程之间的关系

shell命令以及运行原理(详解)_第4张图片

 1.myproc这个进程是bash帮我们创建的,也就是说 " ./myprco "这个指令是bash帮我们进行执行的。

2.自己grep出来的每一行都有一个grep,原因:当你使用管道的时候grep,它自己在过滤的时候它也要把自己运行起来,只要把自己运行起来也是个进程,自己的进程就包括myproc关键字

                

 ③bash的父进程      

shell命令以及运行原理(详解)_第5张图片

 sshd是xshell登陆,底层用的协议工具,当你用xshell每次登陆的时候OS帮你创建了一个对应的bash;打开xshell登陆的时候就是在链接sshd的一个服务,登陆成功之后这个sshd会帮你创建子进程,然后创建一个bash,所以我们沟通(输入命令行)的时候其实是在和bash沟通。

④进程之间的独立性

shell命令以及运行原理(详解)_第6张图片

 杀掉子进程不会影响父进程

        

你可能感兴趣的:(Linux系统,linux,bash,运维)