chmod --help
-c 仅返回更改的部分,效果类似于verbose
-f 不显示错误信息(我觉得里面的most完全是废话)
-v 为每个处理的文件输出执行过程
-R 递归处理,将指定目录下的所有文件及子目录的子目录全部处理;
既然讲到chmod命令,我们还需要掌握另外的内容,就是在 Linux 命令中,对于文件或者目录的普通权限,共有 3 种,分别为:
r:读取;w:写入;x:执行。
随便查找一个文件夹,我们输入ll 命令即可查看。
ll
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
分析:第一组2-4和字符 rwx 总和是7 第二组5-7个字符 r-x 总和是5 第三组 8-10个字符 r-x 5,好那test文件夹的数字代表为755,作为一个old运维人员,再也熟悉不过的文件属組了。
好,那时间原因,我们就分析这一个文件夹的内容了,其余的大家根据文章中的讲解去自行查看。
test2,大家可以看到文件夹会被一个绿色似的内容全部覆盖了。不做详细解释,直接可以看到文件权限数字为777,在实际工作中,这种文件被称之为全权限文件,一般是不允许存在此权限的文件或文件夹的。
好,我们来实际操作文件属組及权限,举例。
chmod a+x test1
执行完如上命令,我们可以看到,所有组的执行权限x就添加上了。
chmod u-x test6
chmod 755 test2
好,我们看到777权限的test2文件夹也被我们修改了权限。
示例中,我们创建的test3文件夹是包括子文件夹及子文件夹的文件夹。
ll -R test3
如果对ll的参数想具体了解的,请坐飞机去–> skyfans之每天一个Liunx命令系列之二十一:ls
我们看到了test3文件夹下的所有的内容。
chmod 777 test3
我们看到了,执行了命令后,只有test3文件夹权限被修改了,如果我们想文件夹下的所有的文件内容都修改权限呢,这时我们需要加上参数了。和ll同样,我们添加上-R参数看看效果。
chmod -R 777 test3
今天就讲到这里,chmod涉及的内容还是较为简单的,但是在面试的时候,一般的技术面试官都会问些关于此命令 的问题,大家看看自己多加练习进行掌握吧!!!!