c语言解释器的实现,linux初始:命令行解释器(shell)、权限

 2023-09-25 阅读 22 评论 0

摘要:目录命令行解释器什么是命令行解释器(shell)命令行解释器的作用权限权限的种类结合用户去理解权限如何查看权限用户和用户组如何看懂权限如何更改权限权限对于文件或文件夹的影响权限对文件的影响权限对文件夹的影响 c语言解释器的实现, 命令行解释器 什么是命

目录

  • 命令行解释器
    • 什么是命令行解释器(shell)
    • 命令行解释器的作用
  • 权限
    • 权限的种类
    • 结合用户去理解权限
      • 如何查看权限
      • 用户和用户组
      • 如何看懂权限
      • 如何更改权限
      • 权限对于文件或文件夹的影响
        • 权限对文件的影响
        • 权限对文件夹的影响

c语言解释器的实现,

命令行解释器

什么是命令行解释器(shell)

shell是命令行解释器的统称,并不是一个具体的命令行解释器、

shell和cmd、我们可以通过 echo $BASH 来查看

在这里插入图片描述
具体的命令行解释器被称为bash

命令行解释器的作用

众所周知,我们在使用linux时,都会用到 ls、cd、cp 等命令,而在我们使用的时候:
①系统会先将命令传入命令行解释器中
②再由命令行解释器传递给操作系统
③操作系统在识别命令后将执行结果传递给命令行解释器
④命令行解释器向用户展示结果
在这里插入图片描述
总结得到,命令行解释器拥有两个功能:
①将命令传递给linux操作系统
②将linux操作系统执行结果返回给用户

权限

权限的种类

在使用linux时,一般将权限分为三种:

r:可读权限

w:可写权限

x:可执行权限

结合用户去理解权限

如何查看权限

可以使用ll命令来查看文件的权限,如
在这里插入图片描述
此时可以看到前边有一块区域
在这里插入图片描述
这块区域代表的就是权限区域

可以分为四个部分来看:

-:文件类型

rw-:针对当前文件所属用户

rw-:针对当前组用户

r- - :其他用户

再看第二个部分
在这里插入图片描述
第一个 stealth 代表当前文件的所属用户

第二个 stealth 代表所属用户组

第三部分
在这里插入图片描述
第一个数字代表当前文件的大小,因为只是创了个文件,
啥都没写,所以显示的就是0啦,大小的单位是字节

而后边的时间代表着最后一次修改文件的时间

最后一个就不用说了,文件名

不过要注意一个点:在linux下文件夹的大小并不包含文件夹下文件的大小,文件夹的大小为4096字节

来验证一下,先创建一个文件夹
在这里插入图片描述
再 ll 一下
在这里插入图片描述

用户和用户组

假设此时有一个家庭,其中有四个人,分别是爸爸、妈妈还有两个孩子

此时家庭就是一个用户组,而一个用户组下又有不同的用户,即爸爸、妈妈、两个孩子

而在家庭的房子中,孩子的房间就是孩子的家目录
在这里插入图片描述
而每个用户的家目录是不一样的

爸爸妈妈是一家之主,代表的就是root用户

假设有一天,爸爸妈妈分别给孩子们每人买了个玩具,此时孩子们(用户)就是各自玩具(文件)的所属用户,而爸爸妈妈则属于所属用户组,外人属于其他用户

现在扩大范围,此时范围变成一栋楼,楼里有不同的家庭,此时:
①用户组和用户组之间具有不同的权限
②用户组当中具有至少一个用户
③一个文件/文件夹,具备的权限需要规定针对所属用户、所属用户组及其他用户

linux下的文件一定是某个用户创建出来的,所以一定有针对某个用户的权限,这个用户一定隶属于一个用户组,所以一定有针对用户组的权限,除了用户组当中的用户,其他的用户都是其他用户,文件这怒地其他用户也是有权限限制的

如何看懂权限

再回到权限
在这里插入图片描述
根据前边我们知道,权限一共有 r w x 三种,即此处的 - 代表着不具备此权限,所以用 - 代替

如何更改权限

前文可知,针对不同的用户,我们都有三种权限,即 r w x 三种

更改权限第一种方式:

使用字母 “r” 或 “w” 或 “x” 更改权限

针对不同用户,标识也是不一样的:
①当前用户: u (user)
②所属组用户: g (group)
③其他用户: o (other)

命令:chmod

格式:chmod 用户(+/-)权限类型[文件名称]

例如
在这里插入图片描述
此时我要给所属用户加上 x (可执行) 权限
在这里插入图片描述
再ll
在这里插入图片描述
在这里插入图片描述
可以看到此时已经给所属用户加上了 x (可执行) 权限

第二种方式:

采用数字的方式来更改权限

数字怎么更改?

在这里插入图片描述
原来是把可读可写可执行的位置当做是二进制比特位来看待,如果比特位是1,表示具有某种权限,反之若是0,则表示没有此权限

再拿刚开始的权限来当例子
在这里插入图片描述
那么此时的权限就是

110 110 100

即 664

而更改方式也很简单

chmod 权限数字 文件名

再来试试
在这里插入图片描述
依然是那个熟悉的hello
在这里插入图片描述
看看成功了吗?
在这里插入图片描述
在这里插入图片描述
很显然成功了

权限对于文件或文件夹的影响

权限对文件的影响

r (可读) 权限:
在这里插入图片描述
首先新建一个文件

接着我们往里边写入一些东西
在这里插入图片描述
看起来是写入成功了

接着我们修改掉可读权限
在这里插入图片描述
所属用户的可读权限就被删除了

接着再使用cat命令
在这里插入图片描述
可以发现已经读不了了,因为没有权限

即:如果一个用户针对某一文件没有了可读权限,此时,查看文件内容的时候,就会被告知没有权限,查看不了

但是由于只删除了所属用户的可读文件,所以别的用户并没有被删除权限,所以可以查看

w (可写)权限:

老样子,还是刚才那个123,这次我们删除可写权限

在这里插入图片描述
再试着写入内容
在这里插入图片描述
很顺理成章的失败了

即:如果一个用户针对某个文件没有了可写权限,则不能忘文件中写入内容,没有权限

x (可执行)权限:

首先我们需要知道一个概念:一个文件具备了可执行权限后,并不一定能够执行,这取决于文件本身是否能够执行

首先我们试着执行一下123
在这里插入图片描述
“./123” 代表着执行当前路径下的123文件

此时显示无权限,那就给他加上权限
在这里插入图片描述
哎,他绿了
再执行一下
在这里插入图片描述
啊,很显然这个文件压根执行不了

即:可执行权限决定当前文件能否有权限执行,但增加了可执行权限后,文件能否执行成功,取决于文件内容

权限对文件夹的影响

首先创建一个文件夹
在这里插入图片描述
接着在里边随便创建几个文件
在这里插入图片描述
再看看他的权限
在这里插入图片描述
很显然这是个可读可写可执行的文件夹

r (可读) 权限:

那就干掉他的可读权限
在这里插入图片描述
好了,现在可读被干掉了

此时使用ll查看文件夹
在这里插入图片描述
此时提示我们没有权限查看

即:一个用户如果失去了文件夹的可读权限,则无法查看文件夹中的内容

w (可写)权限:

现在干掉他的可写权限
在这里插入图片描述
现在已经干掉了可写权限

使用ll查看文件夹下的内容

在这里插入图片描述
发现是可以查看的

接着我们cd进456文件夹,在他底下创建一个文件
在这里插入图片描述
发现无法在文件夹下创建文件

即:一个用户如果失去了文件夹的可写权限,则无法在文件夹下创建文件

x (可执行)权限:

老样子,干掉他的可执行权限
在这里插入图片描述
此时cd进文件夹试试
在这里插入图片描述
哦豁,莫得权限了,进都进不去,修改不是更改不了了

即:一个用户如果失去了文件夹的可执行权限,则不能够切换到文件夹下

要善始善终,最后把文件夹的权限给他改回去
在这里插入图片描述
完成

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/95118.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息