chmod
是 Linux 系统中用来改变文件或目录权限的命令。权限控制了谁可以读取、写入或执行文件。chmod
命令有几种不同的用法,包括数字模式和符号模式。
数字模式
在数字模式中,权限用数字来表示:
- 4 代表读(r)
- 2 代表写(w)
- 1 代表执行(x)
权限数字是这些值的总和。例如:
- 7 代表读、写、执行(4+2+1)
- 6 代表读和写(4+2)
- 5 代表读和执行(4+1)
使用数字模式的 chmod
命令格式如下:
chmod [permissions] [file/directory]
例如,要给所有用户读和写权限,同时给文件所有者执行权限,可以这样写:
chmod 764 filename
这里,7 表示所有者(owner)有读、写、执行权限,6 表示组(group)有读、写权限,4 表示其他(others)只有读权限。
符号模式
在符号模式中,权限用字母表示,并且可以指定用户类别:
- u:所有者(user)
- g:组(group)
- o:其他(others)
- a:所有(all)
权限用字母表示:
- r:读
- w:写
- x:执行
- -:没有权限
使用符号模式的 chmod
命令格式如下:
chmod [ugoa[+-=]][rwx[+-=]] [file/directory]
例如,要给文件所有者添加写权限,可以这样写:
chmod u+w filename
如果要移除组的写权限,可以这样写:
chmod g-w filename
如果要设置文件所有者具有读、写和执行权限,而组和其他用户没有任何权限,可以这样写:
chmod u=rwx,g=,o= filename
递归设置
要递归地改变一个目录及其所有子文件和子目录的权限,可以使用 -R
选项:
chmod -R 755 directoryname
这会给目录所有者读、写和执行权限,同时给组和其他用户读和执行权限。
更多选项
chmod
命令还有许多其他选项,可以通过 man chmod
查看手册页来了解更多。