我读了所有关于修改模式,但我不明白。如果我写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 位不受影响。