skyfans之每天一个Liunx命令系列之三十三:chomd

今天我们继续来学习每天一个命令,今天我们继续学习此章节内容:文件权限管理类命令(FILE PERMISSIONS),今天学习的是什么命令呢,那就是chmod(权限命令)

文章目录

    • 今天我们继续来学习每天一个命令,今天我们继续学习此章节内容:文件权限管理类命令(FILE PERMISSIONS),今天学习的是什么命令呢,那就是chmod(权限命令)
    • 1.给test1文件夹增加执行权限
    • 2.去掉test6文件夹的用户的执行权限
    • 3.修改test2的权限为常用的755权限,去除777权限
    • 4.递归操作
      • 操作修改test3文件夹的权限为777。

chmod --help

skyfans之每天一个Liunx命令系列之三十三:chomd_第1张图片
-c 仅返回更改的部分,效果类似于verbose
-f 不显示错误信息(我觉得里面的most完全是废话)
-v 为每个处理的文件输出执行过程
-R 递归处理,将指定目录下的所有文件及子目录的子目录全部处理;

既然讲到chmod命令,我们还需要掌握另外的内容,就是在 Linux 命令中,对于文件或者目录的普通权限,共有 3 种,分别为:
r:读取;w:写入;x:执行。

随便查找一个文件夹,我们输入ll 命令即可查看。

ll

skyfans之每天一个Liunx命令系列之三十三:chomd_第2张图片
而rwx还具有数字代表内容。

r:数字为4;
w:数字为2;
x:执行或切换权限,数字为1;
-:不具任何权限,数字为0;
s:当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限。

对照着文件如上内容,我们还需要进一步了解文件及目录的权限范围:

u:User,即文件或目录的拥有者;
g:Group,即文件或目录的所属组;
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围内;
a:All,即全部的用户,包含拥有者、所属群组以及其他用户。

语法:chmod 参数 文件或目录
chmod 数字 文件或目录
chmod 参数 数字 文件或目录

根据如上图表,我们继续了解:
第 2 ~ 4 个字符,表示文件或目录的所有者权限;
第 5 ~ 7 个字符,表示文件或目录的所有者同组用户权限;
第 8 ~ 10 个字符,表示文件或目录的其他用户权限。

好,结合如上内容,我们来实际操作。在操作前,我针对于ll结果的目录进行了处理,我们来识别一下。

ll

skyfans之每天一个Liunx命令系列之三十三:chomd_第3张图片
test文件的权限按数字编码应该是多少?

分析:第一组2-4和字符 rwx 总和是7 第二组5-7个字符 r-x 总和是5 第三组 8-10个字符 r-x 5,好那test文件夹的数字代表为755,作为一个old运维人员,再也熟悉不过的文件属組了。
好,那时间原因,我们就分析这一个文件夹的内容了,其余的大家根据文章中的讲解去自行查看。

test2,大家可以看到文件夹会被一个绿色似的内容全部覆盖了。不做详细解释,直接可以看到文件权限数字为777,在实际工作中,这种文件被称之为全权限文件,一般是不允许存在此权限的文件或文件夹的。

好,我们来实际操作文件属組及权限,举例。

1.给test1文件夹增加执行权限

chmod a+x test1

skyfans之每天一个Liunx命令系列之三十三:chomd_第4张图片
执行完如上命令,我们可以看到,所有组的执行权限x就添加上了。

2.去掉test6文件夹的用户的执行权限

chmod u-x test6

skyfans之每天一个Liunx命令系列之三十三:chomd_第5张图片
这时,test6用户的执行权限x就被去除了。

3.修改test2的权限为常用的755权限,去除777权限

chmod 755 test2

skyfans之每天一个Liunx命令系列之三十三:chomd_第6张图片
好,我们看到777权限的test2文件夹也被我们修改了权限。

4.递归操作

示例中,我们创建的test3文件夹是包括子文件夹及子文件夹的文件夹。

ll -R test3 

如果对ll的参数想具体了解的,请坐飞机去–> skyfans之每天一个Liunx命令系列之二十一:ls
skyfans之每天一个Liunx命令系列之三十三:chomd_第7张图片

我们看到了test3文件夹下的所有的内容。

操作修改test3文件夹的权限为777。

chmod 777 test3

skyfans之每天一个Liunx命令系列之三十三:chomd_第8张图片
我们看到了,执行了命令后,只有test3文件夹权限被修改了,如果我们想文件夹下的所有的文件内容都修改权限呢,这时我们需要加上参数了。和ll同样,我们添加上-R参数看看效果。

chmod -R 777 test3

skyfans之每天一个Liunx命令系列之三十三:chomd_第9张图片
看到了,所以的文件下内容全部的权限都被修改了。

今天就讲到这里,chmod涉及的内容还是较为简单的,但是在面试的时候,一般的技术面试官都会问些关于此命令 的问题,大家看看自己多加练习进行掌握吧!!!!

你可能感兴趣的:(基础命令系列,linux基础命令系列)