1. 命令概述
chgrp
是一个用于更改文件或目录的组所有权的工具。通过 chgrp
,用户可以将文件或目录的组所有权更改为指定的组。它还支持递归操作,可以同时更改目录及其内容的组所有权。
2. 基本语法
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
参数说明
GROUP
:目标组的名称或 GID。FILE
:要操作的文件或目录。RFILE
:参考文件,从中复制组所有权。OPTION
:用于控制chgrp
行为的选项。
3. 常用选项
选项 | 说明 |
---|---|
-c , --changes | 仅在更改时显示详细信息。 |
-f , --silent , --quiet | 抑制大多数错误消息。 |
-v , --verbose | 显示每个文件的操作详情。 |
--dereference | 操作符号链接指向的文件(默认行为)。 |
-h , --no-dereference | 操作符号链接本身,而不是其指向的文件。 |
--no-preserve-root | 不特殊处理根目录 / (默认行为)。 |
--preserve-root | 递归操作时不对根目录 / 进行操作。 |
--reference=RFILE | 使用参考文件 RFILE 的组所有权。 |
-R , --recursive | 递归地操作目录及其内容。 |
-H | 如果命令行参数是目录的符号链接,则遍历它。 |
-L | 遍历所有指向目录的符号链接。 |
-P | 不遍历任何符号链接(默认行为)。 |
--help | 显示帮助信息并退出。 |
--version | 显示版本信息并退出。 |
4. 使用示例
示例 1:更改文件的组所有权
chgrp staff /var/www/html/index.html
说明:将 /var/www/html/index.html
的组所有权更改为 staff
。
示例 2:递归更改目录及其内容的组所有权
chgrp -R staff /var/www/html
说明:递归地将 /var/www/html
目录及其内容的组所有权更改为 staff
。
示例 3:使用参考文件的组所有权
chgrp --reference=/var/www/html/index.html /var/www/html/style.css
说明:将 /var/www/html/style.css
的组所有权设置为与 /var/www/html/index.html
相同。
示例 4:显示操作详情
chgrp -v staff /var/www/html/index.html
输出示例:
changed group of '/var/www/html/index.html' to staff
说明:显示每个文件的操作详情。
示例 5:不遍历符号链接
chgrp -P -R staff /var/www/html
说明:递归地更改 /var/www/html
的组所有权,但不遍历任何符号链接。
示例 6:显示帮助信息
chgrp --help
说明:显示 chgrp
的帮助信息。
示例 7:显示版本信息
chgrp --version
输出示例:
chgrp (GNU coreutils) 8.32
说明:显示 chgrp
的版本信息。