如果 chown 可以更改组,那么为什么要创建 chgrp?

day*_*oli 25 history chown

因此chown,您可以更改文件和/或目录的所有者和组。但也有chgrp这只会改变组。为什么被chgrp创造?不是多余的吗?

Sté*_*las 39

chown最初无法设置组。后来,一些实现将它添加为chown user.group,一些chown user:group直到它最终被标准化(强调我的):

POSIX.1-2008 的这一卷中包含了4.3 BSD 指定所有者和组的方法,因为:

在某些情况下,使用 chgrp 和 chown(仅更改用户 ID)实用程序无法实现所需的结束条件。(如果当前所有者不是所需组的成员,并且所需所有者不是当前组的成员,则除非所有者和组同时更改,否则 chown() 函数可能会失败。)

即使它们可以独立更改,在两者都被更改的情况下,由于强制调用这两个实用程序会导致 100% 的性能损失。

即使是现在,chown :group仅更改组也不是可移植的或标准的。

chown user:(分配user用户数据库中的主要组)也不是标准的。

  • @dayuloli,感谢您的编辑,但我没有包含规范的那部分,因为 [我不明白](http://unix.stackexchange.com/q/137086/22565) (2认同)