使用 chmod 时 + 和 = 有什么区别?

使用 chmod 时 + 和 = 有什么区别?

我读了所有关于修改模式,但我不明白。如果我写chmod u=rwx file这个“影响”我对文件的所有权限,如果我写chmod u+rwx file这个“增加”我对文件的所有权限,但+和之间有什么区别=

答案1

由于您指定了所有读取、写入和执行位,因此没有区别。

如果你只指定一些位:

$ umask 022
$ touch afile ; ls -l afile
-rw-r--r-- 1 jackman jackman 0 Aug 21 11:23 afile
$ chmod u+x afile; ls -l afile
-rwxr--r-- 1 jackman jackman 0 Aug 21 11:23 afile*
$ chmod u=x afile; ls -l afile
---xr--r-- 1 jackman jackman 0 Aug 21 11:23 afile*

答案2

来自手册页

运算符 + 导致将选定的文件模式位添加到每个文件的现有文件模式位中;- 导致它们被删除;而 = 导致它们被添加并且导致未提及的位被删除,但目录未提及的设置用户和组 ID 位不受影响。

相关内容