4857

24 分钟

#Bash 的 chgrp 命令

chgrp [OPTION]... GROUP FILE...

功能

修改文件的所属组。

类型

可执行文件(/usr/bin/chgrp),属于 coreutils

参数

  • OPTION 选项:
    • -c, --changes - 仅对发生变化的文件打印详细信息
    • -f, --silent, --quiet - 忽略大部分错误信息
    • -v, --verbose - 打印详细信息
    • --dereference - 影响符号链接引用的源文件,而非符号链接本身(默认)
    • -h, --no-dereference - 影响符号链接本身,而不是其引用的源文件
    • --no-preserve-root - 不保护 / 目录
    • --preserve-root - 保护 / 目录
    • --reference=RFILE - 引用 RFILE 文件的配置
    • -R, --recursive - 对目录进行递归操作
    • -H - 使用 -R 选项进行递归操作时,指向目录的符号链接只有作为命令行参数时才遍历
    • -L - 使用 -R 选项进行递归操作时,遍历所有指向目录的符号链接
    • -P - 使用 -R 选项进行递归操作时,不遍历任何符号链接(默认)
    • --help - 显示帮助
    • --version - 显示版本
  • GROUP - 要设为的所属组
  • FILE - 文件列表

#示例

使用组名

$ chgrp primers file.txt # 将 file 的所属组设为 primers

使用组 ID

$ chgrp :1001 file.txt # 将 file 的所属组 ID 设为 1001

其它

$ chgrp --reference=2.txt 1.txt # 将 1.txt 的所属组设为和 2.txt 一样 $ chgrp primers -R dir # 递归设置目录 dir 中的文件

修改根目录(危险!)

$ chgrp primers --no-preserve-root -R / # 危险!千万不要执行此命令!

#相关命令

命令说明
chown修改文件的所有者和所属组
chmod修改文件的访问权限

#推荐阅读

#手册

CHGRP(1) User Commands CHGRP(1) NAME chgrp - change group ownership SYNOPSIS chgrp [OPTION]... GROUP FILE... chgrp [OPTION]... --reference=RFILE FILE... DESCRIPTION Change the group of each FILE to GROUP. With --reference, change the group of each FILE to that of RFILE. -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file (useful only on systems that can change the ownership of a symlink) --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' --reference=RFILE use RFILE's group rather than specifying a GROUP. RFILE is al‐ ways dereferenced if a symbolic link. -R, --recursive operate on files and directories recursively The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the fi‐ nal one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) --help display this help and exit --version output version information and exit EXAMPLES chgrp staff /u Change the group of /u to "staff". chgrp -hR staff /u Change the group of /u and subfiles to "staff". AUTHOR Written by David MacKenzie and Jim Meyering. REPORTING BUGS GNU coreutils online help: <https://www.gnu.org/software/coreutils/> Report any translation bugs to <https://translationproject.org/team/> COPYRIGHT Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO chown(1), chown(2) Full documentation <https://www.gnu.org/software/coreutils/chgrp> or available locally via: info '(coreutils) chgrp invocation' GNU coreutils 9.4 April 2024 CHGRP(1)

创建于 2025/11/1

更新于 2025/11/1