Linux命令:chmod的快速指南

168 阅读2分钟

用于改变文件模式的 "chmod "命令的快速指南

在Linux/macOS操作系统(以及一般的UNIX系统)中,每个文件都有3个权限。读取、写入、执行。

进入一个文件夹,并运行ls -al 命令。

你在每个文件行看到的奇怪的字符串,如drwxr-xr-x ,定义了文件或文件夹的权限。

让我们来剖析一下。

第一个字母表示文件的类型。

  • - 表示它是一个普通文件
  • d 表示它是一个目录
  • l 意味着它是一个链接

然后你有3组数值。

  • 第一组代表该文件所有者的权限
  • 第二组代表该文件所属的成员的权限
  • 第三组代表其他所有人的权限。

这些集合由3个值组成。rwx ,意味着特定的人物有读、写和执行的权限。任何被删除的东西都会被换成- ,这让你形成各种数值和相对权限的组合。rw-,r--,r-x, 等等。

你可以使用chmod 命令来改变一个文件的权限。

chmod 可以用2种方式使用。第一种是使用符号参数,第二种是使用数字参数。让我们先从符号开始,这是更直观的。

你输入chmod ,后面是一个空格和一个字母。

  • a 代表所有
  • u 代表用户
  • g 代表
  • o 代表其他

然后你输入+- 来增加一个权限,或删除它。然后你输入一个或多个权限符号 (r,w,x)。

后面都是文件或文件夹的名称。

这里有一些例子。

chmod a+r filename #everyone can now read
chmod a+rw filename #everyone can now read and write
chmod o-rwx filename #others (not the owner, not in the same group of the file) cannot read, write or execute the file

你可以通过在+/- 前面添加多个字母来对多个角色应用相同的权限。

chmod og-r filename #other and group can't read any more

如果你正在编辑一个文件夹,你可以使用-r (递归)标志将权限应用于该文件夹中的每个文件。

数字参数更快,但我发现当你不是每天都在使用它们时很难记住它们。你使用一个数字,代表角色的权限。这个数字值最多可以是7,它的计算方法是这样的。

  • 1 如果有执行权限
  • 2 如果有写入权限
  • 4 如果有阅读权限

这就给了我们4种组合。

  • 0 没有权限
  • 1 可以执行
  • 2 可以写
  • 3 可以写,可以执行
  • 4 可以读
  • 5 能读,能执行
  • 6 能读能写
  • 7 可以读、写和执行

我们以3人一组的方式使用它们,来设置所有3个组的权限。

chmod 777 filename
chmod 755 filename
chmod 644 filename

chmod 命令可以在Linux、macOS、WSL以及任何你有UNIX环境的地方使用。