文章目录
权限理解与文件权限
1. shell命令以及运行原理
首先从Linux的命令行操作和Windows的图形化界面谈起,其实它们本质都是一样的,都是让用户进行相关操作,刚开始只有命令行,后来才有的图形化界面,图形化界面其实上是对命令行的一种封装,它们都是操作系统的外壳程序。
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。为什么不能直接使用kernel?从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:
- 将使用者的命令翻译给核心处理
- 同时将核心的处理结果返回给使用者
对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作;shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。
shell 的作用:1.命令行解释 2.保护操作系统,对非法指令进行拦截
Linux外壳程序的理解:就是命令行解释器,系统层面上就是一个进程,保证内核安全的同时,也要保护自己的安全,所以shell进程会创建子进程去进行命令行解释,如果失败,不会影响shell进程。
shell运行原理: 创建子进程,让子进程进行命令行解释,子进程出现任何问题,都不影响父进程shell
运行起来的程序——进程,那么大部分指令的运行都会变成进程,怎么证明呢?
在进程中查找myproc
显示进程列表的前1行与前5行
查找进程myproc,显示1行
PID : 进程的标识符
PPID : 父进程的PID
从下图可以看到,myproc的父进程就是bash(shell 的一种)