chmod
是 Unix 和 Linux 系统中用于更改文件或目录权限的命令。权限分为三类:用户(user)、组(group)和其他人(others),每类权限又分为读(read)、写(write)和执行(execute)三种。
基本用法
chmod
命令的基本语法如下:
chmod [选项] 模式 文件名
模式
模式可以用两种方式表示:符号模式和八进制模式。
符号模式
符号模式使用符号来表示权限的增减。基本格式如下:
[ugoa...][[+-=][rwxXstugo...]...][,...]
u
:用户(文件所有者)g
:组o
:其他人a
:所有人(相当于ugo
)+
:增加权限-
:减少权限=
:设置权限r
:读权限w
:写权限x
:执行权限X
:仅当文件是目录或已有执行权限时才设置执行权限s
:设置用户或组IDt
:粘滞位
例如:
chmod u+x file.txt # 给文件所有者增加执行权限
chmod go-w file.txt # 给组和其他人减少写权限
chmod a=r file.txt # 给所有人设置只读权限
八进制模式
八进制模式使用数字来表示权限。每个权限位用一个八进制数表示:
4
:读权限2
:写权限1
:执行权限
将这些数字相加可以组合出不同的权限。例如:
7
(4+2+1):读、写、执行6
(4+2):读、写5
(4+1):读、执行4
:读3
(2+1):写、执行2
:写1
:执行0
:无权限
权限的组合方式如下:
- 第一位:用户权限
- 第二位:组权限
- 第三位:其他人权限
例如:
chmod 755 file.txt # 用户:读、写、执行;组:读、执行;其他人:读、执行
chmod 644 file.txt # 用户:读、写;组:读;其他人:读
常用选项
-R
:递归地更改目录及其内容的权限
例如:
chmod -R 755 directory # 递归地设置目录及其内容的权限为 755
示例
-
给文件
file.txt
的所有者增加执行权限:chmod u+x file.txt
-
给文件
file.txt
的组和其他人减少写权限:chmod go-w file.txt
-
设置文件
file.txt
的权限为 755:chmod 755 file.txt
-
递归地设置目录
directory
及其内容的权限为 755:chmod -R 755 directory
通过这些基本用法和示例,你可以灵活地使用 chmod
命令来管理文件和目录的权限。