面向初学者的 Linux Chgrp 命令(5 个示例)
在此页
- Linux chgrp 命令
- Q1。如何使用 chgrp 更改文件/目录的组
- Q2。 chgrp 如何处理符号链接
- Q3。如何从参考文件中获取 chgrp pick group 信息
- Q4。如何要求 chgrp 递归地进行更改
- Q5。为什么使用 chgrp 而 chown 也可以用来改变组
- 结论
在 HowtoForge,我们最近讨论了 chown 命令,它允许用户在 Linux 中更改文件(或目录)的所有者和组。但是您是否知道存在一个专用的命令行实用程序,您可以在更改与组相关的信息时使用它?有问题的工具是 chgrp,在本教程中,我们将使用易于理解的示例来讨论该工具。
但在我们这样做之前,值得一提的是,本教程中提到的所有示例和说明都已在 Ubuntu 22.04 上进行了测试。
Linux chgrp 命令
正如您现在已经了解的那样,如果要求只是更改文件或目录的组,那么您可以使用 chgrp 而不是 chown。该工具提供了多个命令行选项,您可以在不同情况下使用它们。下面是 chgrp 的通用语法:
chgrp [OPTION]... GROUP FILE...
以下问答式示例应该使 chgrp 命令更加清晰。
Q1。如何使用 chgrp 更改文件/目录的组
chgrp 命令的基本用法非常简单。假设您要更改当前组为 himanshu 的文件 file1 的组。要求是将组所有权更改为 root。这是我们在这种情况下需要运行的命令:
chgrp root file1
根据您当前的权限级别,您可能希望使用 sudo 运行上述命令(不确定 sudo 是什么,请阅读此内容)。

上面的屏幕截图确认组所有权已成功更改为 root。
Q2。 chgrp 如何处理符号链接
默认情况下,chgrp 命令影响符号链接的引用。这意味着通过该工具所做的任何更改都不会应用于符号链接,而是应用于它所引用的文件。例如,考虑链接到 file1 的符号链接 file1symlink。

file1 和 file1symlink 都将其所有者和组设置为 himanshu。

现在,如果您尝试更改符号链接文件的组,您会看到 file1symlink 将保持不受影响,但 file1 的组所有权会发生变化。
sudo chgrp root file1symlink

但是,如果需要,您可以使用 -h 命令行选项更改此行为。
sudo chgrp -h root file1symlink
下面的截图显示了上述命令这次更改了符号链接的组:

Q3.如何从参考文件中获取 chgrp pick group 信息
如果需要,您可以要求 chgrp 命令从文件中选择组信息,从而节省您在命令行上手动指定组名的工作。可以通过 --reference 命令行选项访问此功能,这需要您指定参考文件的名称。
chgrp --reference=[ref-file-name] FILENAME
例如:
chgrp --reference=file2 file1
上述命令将使 file1 的组所有权与 file2 的组所有权相同。
Q4.如何要求 chgrp 递归地进行更改
万一 - 在处理目录和子目录时 - 你想进行递归更改,你可以使用 -R 命令行选项。
chgrp -R GROUPNAME DIRECTORY-OR-PATH
Q5.为什么使用 chgrp 而 chown 也可以用来改变组
有人可能会争辩说,如果 chown 命令也可用于调整与组相关的信息,那么为什么首先需要 chgrp?好吧,首先,当您需要做的只是更改文件/目录的组时,与 chown 相比,chgrp 使用起来很简单。其次,由于 chown 还可以做其他事情,因此人们不希望在生产服务器上工作时不小心进行更改。要更改目录,请使用 cd 命令。
结论
Chgrp 不是一个难以理解和使用的命令。我们在这里涵盖了几乎所有主要选项/功能。尝试我们在本教程中提到的示例,您应该已准备好使用该命令。如有任何疑问或疑问,请前往工具手册页。