chmod
https://blog.csdn.net/u010429424/article/details/48498081
文件或目录的操作权限对应两个要素:用户、权限;修改文件或目录的权限就是为用户重新指定权限。
一 用户:u、g、o、a
u:User,文件所有者;
g:Group,与User同Group的用户;
o:Other,其他用户;
a:ALL,所有用户;
用户组合:可用字母拼接,如:uo;【这样做不会报错,但有实际意义吗?】
二 权限:r、w、x
r:Read,读权限,用数字4表示;目录可读意味着可用ls列出内容;
w:Write,写权限,用数字2表示;目录可写意味着可在其中创建、删除文件;
x:Execute,执行权限,用数字1表示;目录可执行意味着可用cd进入;
权限组合:可用字母拼接,也可用数字相加,如:rwx或7,表示可读可写可执行
三 chmod语法
由于权限有字母、数字两种表示方法,对应地chmod修改权限的语法也有两种表示;
3.1 用字母表示
chmod [u/g/o/a][+/-/=][r/w/x] 文件或目录
u/g/o/a 表示用户
+/-/= 表示权限修改;+表示增加权限,-表示取消权限,=表示覆盖权限
r/w/w 表示具体权限
注意:以上三组符号之间不能有空格
chmod a+r test.sh
3.2 用数字表示
chmod XYZ 文件或目录 #X、Y、Z均为表示权限的数字
X 表示User的权限,取值{1,2,3,4,5,6,7}
Y 表示Group的权限,取值{1,2,3,4,5,6,7}
Z 表示Other的权限,取值{1,2,3,4,5,6,7}
chmod 777 test.sh
数字表示方式中,不能增加或删减权限只能覆盖;
3.3 可选参数:-R
1.-R表示recursive,递归
将设置子目录、子文件的权限。【注意不能是小写的-r】
chmod -R a+r test.sh
3.4 通配符
文件名:可用通配符
表示。注意:只是支持通配符,而不是支持正则表达式
Ubuntu中三种通配符:
* 表示任意一个或多个字符
? 表示任意一个字符
[] 表示括号中的某个字符
chmod a+r [0-9][0-9][0-9] # 可用于匹配目录名为"123"的目录
chmod a+r [0-9]{3} # 报错;{3}是正则表达式中的符号,不是通配符中的