Linux基础命令之: Linux常用命令
7.chmod
(1)作用。
改变文件的访问权限。
(2)格式。
chmod可使用符号标记进行更改和八进制数指定更改两种方式,因此它的格式也有两种不同的形式。
①符号标记:chmod[选项]…符号权限[符号权限]…文件
其中的符号权限可以指定为多个,也就是说,可以指定多个用户级别的权限,但它们中间要用逗号分开表示,若没有显式指出则表示不作更改。
②八进制数:chmod[选项]…八进制权限文件…
其中的八进制权限是指要更改后的文件权限。
(3)选项参数。
chmod主要选项参数如表2.16所示。
表2.16 chmod命令常见参数列表
选项 | 参数含义 |
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不要显示错误信息 |
-v | 显示权限变更的详细资料 |
(4)使用实例。
chmod涉及文件的访问权限,在此对相关的概念进行简单的回顾。
在1.3.1节中已经提到,文件的访问权限可表示成:-rwxrwxrwx。在此设有3种不同的访问权限:读(r)、写(w)和运行(x)。3个不同的用户级别:文件拥有者(u)、所属的用户组(g)和系统里的其他用户(o)。在此,可增加一个用户级别a(all)来表示所有这3个不同的用户级别。
①第一种符号连接方式的chmod命令中,用加号“+”代表增加权限,用减号“−”代表删除权限,等于号“=”代表设置权限。
例如,原先笔者系统中有文件uClinux20031103.tgz,其权限如下所示。
[root@localhosttest]#ls–l
-rw-r--r--1rootroot79708616Mar242005uClinux20031103.tgz
[root@localhosttest]#chmoda+rx,u+wuClinux20031103.tgz
[root@localhosttest]#ls–l
-rwxr-xr-x1rootroot79708616Mar242005uClinux20031103.tgz
可见,在执行了chmod之后,文件拥有者除拥有所有用户都有的可读和执行的权限外,还有可写的权限。
②对于第二种八进制数指定的方式,将文件权限字符代表的有效位设为“1”,即“rw-”、“rw-”和“r--”的八进制表示为“110”、“110”、“100”,把这个二进制串转换成对应的八进制数就是6、6、4,也就是说该文件的权限为664(三位八进制数)。这样对于转化后八进制数、二进制及对应权限的关系如表2.17所示。
表2.17 转化后八进制数、二进制及对应权限的关系
转换后八进制数 | 二进制 | 对应权限 | 转换后八进制数 | 二进制 | 对应权限 |
0 | 000 | 没有任何权限 | 1 | 001 | 只能执行 |
2 | 010 | 只写 | 3 | 011 | 只写和执行 |
4 | 100 | 只读 | 5 | 101 | 只读和执行 |
6 | 110 | 读和写 | 7 | 111 | 读、写和执行 |
同上例,原先笔者系统中有文件genromfs-0.5.1.tar.gz,其权限如下所示。
[root@localhosttest]#ls–l
-rw-rw-r--1daviddavid20543Dec292004genromfs-0.5.1.tar.gz
[root@localhosttest]#chmod765genromfs-0.5.1.tar.gz
[root@localhosttest]#ls–l
-rwxrw-r-x1daviddavid20543Dec292004genromfs-0.5.1.tar.gz
可见,在执行了chmod765之后,该文件的拥有者权限、文件组权限和其他用户权限都恰当地对应了。
(5)使用说明
n 使用chmod必须具有root权限。
想一想 | chmodo+xuClinux20031103.tgz是什么意思?它所对应的八进制数指定更改应如何表示? |
评论