📅  最后修改于: 2020-12-08 05:11:01             🧑  作者: Mango
Linux chgrp命令用于更改文件或目录的组所有权。在Linux文件系统中,每个文件都与相应的所有者和组相关,并且具有读取,写入和执行权限。
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
chgrp命令支持以下命令行选项:
-c,-changes:类似于“ verbose”选项,但是仅在进行更改时才报告。
-f,–silent,–quiet:用于禁止显示大多数错误消息。
-v,–verbose:用于显示每个已处理文件的诊断。
–dereference:它用于影响每个符号链接的重要性,而不是符号链接本身。
-h,–no-dereference:用于更改符号链接,而不是任何引用的文件
–no-preserve-root:它特别用于不处理'/'。
–preserve-root:当默认命令无法在'/'上递归操作时使用。
–reference = RFILE:用于使用RFILE的组,而不是特定的组。
-R,– recursive:用于递归地处理文件和目录。该选项指定“ -R”选项的遍历。
-H:用于遍历目录的符号链接。
-L:用于遍历到目录的每个符号链接。
-P:如果指定此选项,则它将不遍历任何符号链接(默认)
–help:用于显示帮助手册,其中包含受支持的命令行选项的简要信息。
–version:用于显示版本信息。
让我们看一下chgrp命令的以下示例:
我们可以更改任何特定文件的组。要更改文件的组所有权,请执行以下命令:
sudo chgrp javatpoint Demo1.txt
上面的命令会将文件“ Demo1.txt”的组更改为Javatpoint。考虑以下输出:
从上面的输出中可以看到, “ groups”命令用于列出系统中的可用组。并且,使用sudo执行“ chgrp”命令是因为它需要sudo特权。
要更改文件夹的组所有权,请使用文件夹名称执行“ chgrp”命令,如下所示:
sudo chgrp javatpoint Newdirectory
上面的命令将更改“ Newdirectory”文件夹的组所有权。考虑以下输出:
如果chgrp命令成功执行,将不会产生任何输出。要确认更改,请执行“ ls -l”命令。
我们可以通过应用一些规则来递归地更改文件或文件夹的组所有权。要递归更改文件夹及其内容的组所有权,请执行以下命令:
sudo chgrp -R javatpoint Newdirectory
考虑以下输出:
我们可以使用参考文件的组名来更改文件的组。要使用任何其他文件或目录的引用来更改另一个文件的组,请执行以下命令:
sudo chgrp -R --reference=ref.txt Newdirectory
上面的命令将通过使用“ Nwdirectory”的引用来更改“ ref.txt”的组。考虑以下输出: