Linux chmod(Change Mode)命令用于修改文件或目录的权限。该命令可以赋予文件或目录的可读、可写、可执行权限,同时也可以撤销文件或目录的某些权限。
命令语法
chmod [OPTION]... MODE[,MODE]... FILE...
OPTION
: 可选参数,主要包含-c
、-r
、-v
等。MODE
: 权限模式,主要包含数字模式和符号模式,用于授予文件或目录不同的读、写和执行权限。数字模式为 3 个数字,每个数字范围为 0~7,分别表示用户、用户组、其他用户的权限;符号模式有三种权限类型u
、g
和o
,分别表示用户、用户组、其他用户,每个权限类型有三个符号:+
表示加权限、-
表示撤销权限、=
表示设置权限等于给定值。FILE
: 待修改权限的文件或目录名,支持通配符。
使用示例
1. 数字模式修改权限
以下是数字模式对权限的具体授予方式和对应的数值:
权限类型 | 相关数值 |
---|---|
r(读权限) | 4 |
w(写权限) | 2 |
x(执行权限) | 1 |
例如,为一个 shell 脚本文件 test.sh
授予所有用户读、写和执行权限,可以使用以下命令:
chmod 777 test.sh
其中,每个数字代表的意义分别是:
- 第一个 “7” 代表用户(owner)的权限,1 表示可执行权限、2 表示可写权限、4 表示可读权限,所以
rwx
三种权限合计数值为 1+2+4=7。 - 第二个 “7” 代表用户组(group)的权限,同上。
- 第三个 “7” 代表其他用户的权限,同上。
2. 符号模式修改权限
使用符号模式修改文件或目录的权限更加灵活,基于当前权限和修改方式授予或撤销对应权限。以下是符号模式的示例:
- 提升目录
/data/www
中所有文件的执行权限:
chmod +x /data/www/*
- 删除文件
test.sh
所有用户的执行权限:
chmod -x test.sh
常用参数
-c
:如果权限被修改,则显示被修改的权限类容。-r
:递归地修改文件或目录的权限。-v
:显示每个文件或目录的权限变化。
总结
Linux chmod 命令是文件或目录权限管理的基础命令,根据权限需求使用不同的权限模式,可实现灵活的授权、撤销等操作。