runoops.com

Linux chgrp命令

Linux chgrp命令用于变更文件或目录的所属群组。

在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。

语法

chgrp [-cfhRv][--help][--version][所属群组][文件或目录...] 或 chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]

参数说明

  -c或--changes 效果类似"-v"参数,但仅回报更改的部分。

  -f或--quiet或--silent  不显示错误信息。

  -h或--no-dereference  只对符号连接的文件作修改,而不更动其他任何相关文件。

  -R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

  -v或--verbose  显示指令执行过程。

  --help  在线帮助。

  --reference=<参考文件或目录>  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。

  --version  显示版本信息。

实例

实例1:改变文件的群组属性:

chgrp -v runoops log2020.log

输出:

[root@VM-40-49-centos logtest]# chgrp -v runoops log2020.log
chgrp: invalid group: ‘runoops’.  <====说明组runoops不存在
[root@VM-40-49-centos logtest]# groupadd runoops  #添加组
[root@VM-40-49-centos logtest]# chgrp -v runoops log2020.log
changed group of ‘log2020.log’ from root to runoops  #修改组成功

"log2020.log" 的所属组已更改为 runoops

[root@VM-40-49-centos logtest]# ls -al
total 8
drwxr-xr-x 2 root root 4096 Sep 8 09:56 .
dr-xr-x---. 7 root root 4096 Sep 8 09:56 ..
-rw-r--r-- 1 root runoops 0 Sep 8 09:56 log2020.log

说明: 将log2020.log文件由root群组改为runoops群组

实例2:根据指定文件改变文件的群组属性

chgrp --reference=log2020.log log2020.log

输出:

[root@VM-40-49-centos logtest]# chgrp --reference=log2020.log log2019.log
chgrp: cannot access ‘log2019.log’: No such file or directory
[root@VM-40-49-centos logtest]# touch log2019.log
[root@VM-40-49-centos logtest]# chgrp --reference=log2020.log log2019.log
[root@VM-40-49-centos logtest]# ls -l
total 0
-rw-r--r-- 1 root runoops 0 Sep 8 10:02 log2019.log
-rw-r--r-- 1 root runoops 0 Sep 8 09:56 log2020.log

说明: 改变文件log2019.log 的群组属性,使得文件log2019.log的群组属性和参考文件log2020.log的群组属性相同。