c语言解释器的实现,
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进文件夹试试
哦豁,莫得权限了,进都进不去,修改不是更改不了了
即:一个用户如果失去了文件夹的可执行权限,则不能够切换到文件夹下
要善始善终,最后把文件夹的权限给他改回去
完成
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态