7.5 同时修改文件和目录的拥有者和用户组

chown owner:group

前面已经看到,可以用chgrp命令修改用户组,用chown命令修改拥有者,但是用chown命令也可以同时实现这两个功能。在chown的后面先指定用户,再指定用户组,中间用冒号(:)隔开,最后是要修改的文件或目录(这就是为什么要避免在用户或用户组名称中使用冒号的原因之一)。

  1. $ ls -l
  2. -rw-r--r-- 1 scott scott ... libby.jpg
  3. $ chown denise:family libby.jpg
  4. $ ls l
  5. -rw-r--r-- 1 denise family ... libby.jpg

甚至可以只用chown命令来修改用户组,省略冒号前面的用户名就可以。

  1. $ ls -l
  2. -rw-r--r-- 1 scott scott ... libby.jpg
  3. $ chown :family libby.jpg
  4. $ ls l
  5. -rw-r--r-- 1 scott family ... libby.jpg

提示 如果用户或用户组的名称中有冒号怎么办?只要在冒号前面输入反斜杠字符(\)就可以了,它能够“转义(escape)”字符,告诉系统这只是个冒号,并不是用户和用户组名称之间的分隔符。

  1. $ chown denise:family\:parents libby.jpg

这样做虽然有效,但是最好不要在用户和用户组名称中使用冒号。

因为chown能够完成chgrp的所有功能,所以几乎不需要使用chgrp命令,除非你喜欢。

说明 在分隔用户和用户组时,可以使用点号(.)或冒号(:)字符。但是因为点号(.)的用法已经被废弃了,所以新的建议还是推荐继续使用冒号(:)。