在Linux中,chmod
命令用于更改文件和目录的权限。文件权限包括读取(r)、写入(w)和执行(x)权限,分为文件所有者(owner)、用户组(group)和其他用户(others)。 以下是详细介绍:
基本语法:
chmod [参数] 模式 文件或目录
参数:
-c
:只有在权限确实更改时才显示更改的信息。-f
:即使权限不能被更改,也不显示错误消息。-v
:显示详细的更改信息。-R
:递归地更改目录及其子目录中的文件和目录权限。
模式:
模式由三个部分组成:
- 用户类型:u(文件所有者)、g(用户组)、o(其他用户)、a(所有用户)。
- 操作符:+(增加权限)、-(删除权限)、=(设置权限)。
- 权限:r(读取)、w(写入)、x(执行)。
示例:
- 给文件
file1.txt
添加读权限:chmod a+r file1.txt
- 删除文件
file1.txt
的所有用户的执行权限:chmod a-x file1.txt
- 给文件
file1.txt
所有用户添加读写权限:chmod a+rw file1.txt
- 给文件
file1.txt
所有用户添加读写执行权限:chmod +rwx file1.txt
- 为文件
ex1.py
的文件所有者添加可执行权限:chmod u+x ex1.py
- 将当前目录及其所有文件和子目录设为所有用户可读取:
chmod -R a+r *
除了符号模式,还可以使用八进制数字来表示权限。每个权限位(r、w、x)对应一个数值(r=4、w=2、x=1),并且可以将它们相加来表示权限组合。例如,755 表示:
- 文件所有者(User):rwx(4+2+1)=7
- 用户组(Group):r-x(4+0+1)=5
- 其他用户(Others):r-x(4+0+1)=5