导航菜单

Linux命令大全-chgrp命令

陆兴东 2026-04-07 14 浏览 Linux命令

一、简介

chgrp(英文全拼:change group)命令用于更改文件或目录的所属组。

与 chown 命令类似,但又有所不同,如只想修改文件或目录的所属组,此时可以直接用chgrp命令完成。

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

二、语法

语法:chgrp [选项]... 用户组 文件或目录..

参数说明:

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

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

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

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

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

--help:在线帮助。

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

--version:显示版本信息。

三、 实战

1、更改某一个文件的所属组

[root@app01 abc]# ls -lrt test.txt
-rw-r--r-- 1 root root 9 8月  16 12:38 test.txt
[root@app01 abc]# id tom1
uid=1002(tom1) gid=1000(app) 组=1000(app),1002(tom)
[root@app01 abc]# chgrp tom test.txt
[root@app01 abc]# ls -lrt test.txt
-rw-r--r-- 1 root tom 9 8月  16 12:38 test.txt

2、更改多个文件的所属组

[root@app01 abc]# chgrp groupname 1.txt 2.txt 3.txt

3、递归更改某个文件或目录的所属组

[root@app01 abc]# chgrp -R groupname filename

4、使用参考文件的组进行更改

什么意思呢?说白了就是我想把file1.txt的所属组修改成与file2.txt一样的所属组,此时可以用该参数进行更改,只需指定源文件为file2.txt,目的文件为file1.txt即可完成修改。

[root@app01 abc]# ls -lrtd test.txt
-rw-r--r-- 1 root tom 9 8月  16 12:38 test.txt
[root@app01 abc]# chgrp --reference=test.txt 1.txt
[root@app01 abc]# ls -lrtd 1.txt
-rw-r--r-- 1 root tom 0 8月  16 11:38 1.txt

5、显示操作过程

[root@app01 abc]# chgrp -v tom aa.log
changed group of "aa.log" from root to tom

注意事项

1、目标群组必须存在于系统组(如 /etc/group)中。

2、默认情况下,chgrp 仅允许 root 用户或文件所有者执行。