文章目录

  • 一、shell命令以及运行原理
    • 1.1 Shell的定义
    • 1.2 为什么要有Shell外壳程序?
    • 1.3 外壳程序的意义
    • 1.4 外壳程序怎么做到的?
  • 二、Linux权限的概念
    • 2.1 对人来说
    • 2.2 对角色和文件来说
  • 三、权限的操作
    • 3.1 更改角色的权限
    • 3.2 更改文件的属性⭐
    • 3.3 目录的权限⭐
    • 3.3 umask
    • 3.4 粘滞位

一、shell命令以及运行原理

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

1.1 Shell的定义

Shell是运行在终端中的文本互动程序 。

从技术角度, Shell的最简单定义是命令行解释器主要包含:

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

1.2 为什么要有Shell外壳程序?

  1. 99.99…%的人不善于直接访问操作系统
  2. 如果让人直接访问操作系统,操作成本特别搞并会带来不安全因素

1.3 外壳程序的意义

  1. 是用户和操作系统交换的中间软件层,可以传递请求指令,让OS执行命令,并把执行结果返回。
  2. 在一定程度上,保护操作系统。让人访问人和操作系统的shell软件层,除了问题也是软件层的问题,不会影响操作系统。

1.4 外壳程序怎么做到的?

  1. Shell 是对所有外壳程序的统称,通常可以分为两种: 命令行 Shell 与 图形 Shell 。 对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,通过点击从而完成我们的操作。
  2. Shell之于Linux,也是对我们的指令进行解析,解析指令给Linux内核,反馈结果在通过内核运行出结果,通过shell解析给用户。
  3. bash是最常用的一种shell ,是具体的一种Shell, 是当前大多数Linux发行版的默认Shell
  4. Shell程序本身是一个进程,Shell外壳程序接收到用户的需求后会派生子进程来进行命令行解析以及程序的相关执行。

二、Linux权限的概念

2.1 对人来说

Linux下有两种用户:超级用户(root)、普通用户。