Linux 中的 chgrp 命令用于变更文件或目录的所属群组。
在 UNIX 系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用 chgrp 指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。
用于修改文件或目录所属群组。
chgrp [options] GROUP FILE
参数 | 描述 |
---|---|
options | chgrp 命令使用的参数。 |
GROUP | 需要变更的用户组。 |
FILE | 需要变更的文件。 |
选项 | 含义 |
---|---|
-c, --changes | 效果类似 “-v” 参数,但仅返回更改的部分。 |
-f, --quiet, --silent | 不显示错误信息。 |
-h, --no-dereference | 只对符号连接的文件作修改,而不更动其他任何相关文件。 |
-R, --recursive | 递归处理,将指定目录下的所有文件及子目录一并处理。 |
-v, --verbose | 显示指令执行过程。 |
–reference=<参考文件或目录> | 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。 |
实例 | 描述 |
---|---|
chgrp -v group file | 将文件 file 的群组修改为 group。 |
chgrp -R group file | 将文件 file 的群组修改为 group,并且递归处理。 |
chgrp --reference=reffile file | 将文件 file 的群组信息设置成跟 reffile 相同。 |
如果操作目录,需要递归处理,需要使用 R 参数。
chgrp -v group file
我们使用 groupadd 命令,创建一个 haicoder 群组,具体命令如下:
groupadd haicoder
运行后,终端输出如下:
现在,我们使用 touch 命令,创建一个 haicoder.txt 文件,具体命令如下:
touch haicoder.txt
运行后,终端输出如下:
现在,我们使用 ls 命令,查看文件 haicoder.txt 的群组,具体命令如下:
ls -l haicoder.txt
运行后,终端输出如下:
我们看到,此时 haicoder.txt 文件的所属组为 root,现在,我们使用 chgrp 命令,修改其所属组为 haicoder,具体命令如下:
chgrp -v haicoder haicoder.txt
运行后,终端输出如下:
我们看到,提示我们已经将 haicoder.txt 的所属组修改为了 haicoder,现在,我们使用 ls 命令,查看所属组,具体命令如下:
ls -l haicoder.txt
运行后,终端输出如下:
我们看到,所属组已经变成了 haicoder 。
chgrp -R group file
我们使用 mkdir 命令,递归创建多级文件夹,具体命令如下:
mkdir -p haicoder1/haicoder2/haicoder3
运行后,终端输出如下:
现在,我们使用 ls 命令,查看文件夹 haicoder 的群组,具体命令如下:
ls -ld haicoder1 haicoder1/haicoder2 haicoder1/haicoder2/haicoder3
运行后,终端输出如下:
我们看到,此时三个文件夹的所属组都为 root,现在,我们使用 chgrp 命令,递归修改其所属组为 haicoder,具体命令如下:
chgrp -R haicoder haicoder1
运行后,终端输出如下:
现在,我们使用 ls 命令,查看文件夹所属组,具体命令如下:
ls -ld haicoder1 haicoder1/haicoder2 haicoder1/haicoder2/haicoder3
运行后,终端输出如下:
我们看到,此时三个文件夹的所属组都已经变成了 haicoder 。
Linux 中的 chgrp 命令用于变更文件或目录的所属群组。