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 查看手册页来了解更多。