Linux 中 chgrp 命令的 5 个实用示例Linux 中 chgrp 命令的 5 个实用示例Linux 中 chgrp 命令的 5 个实用示例Linux 中 chgrp 命令的 5 个实用示例
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux 中 chgrp 命令的 5 个实用示例

chgrp 命令用于在 Linux 中更改文件或目录的组。本指南通过实际示例向您展示如何在 Linux 中使用 chgrp 命令。

Linux 中的 chgrp 命令是什么?

如果您使用过我们的 chmod 计算器,您就会了解 Linux 中的文件权限,您可能会了解组所有权。

Linux 中的 chgrp 命令用于更改文件或目录的组。它代表“变革团体”。

chgrp 命令的语法是:

chgrp [options] groupname file

Linux 中 chgrp 命令的 5 个实用示例

让我们通过这些有用的示例来看看如何使用 chgrp 命令。

1. 更改文件/目录组

这是 chgrp 最简单也可能是最突出的用途。要更改文件或目录的组所有权,可以按以下方式使用 chgrp 命令:

chgrp group_name file_name

您还可以一次更改多个文件的组:

chgrp group_name file1 file2 file3

您不必与该文件位于同一目录中。您也可以提供绝对或相对路径。

您当前的特权很重要。如果您尝试将组更改为 admin 或 root,您可能需要超级用户权限。在这种情况下,您应该会看到“不允许操作”错误。

?
chgrp 支持制表符补全。只需键入几个字母作为组名称,然后按 Tab 键即可查看包含这些字母的组。

2. 递归地使用 chgrp 更改所有文件和子目录的组

默认情况下,如果对目录使用 chgrp,它只会更改目录的组。文件和子目录保持不变。

如果要更改目录和子目录中所有文件的组,可以使用递归选项-R。

chgrp -R group_name path_to_directory

3. 了解您是否成功更改了群组

您可以使用“ls -l”命令确定组是否已更改。但是,如果您一次更改多个文件的组(例如使用上一节中看到的递归选项)会怎样?

chgrp 提供详细模式,告诉您 chgrp 命令执行了哪些操作。您可以使用选项 -v 以详细模式运行 chgrp 命令。

chgrp -vR abhishek samplechanged group of 'sample/agatha.txt' from sudo to abhishek
group of 'sample/a.text' retained as abhishek
changed group of 'sample/text/sherlock.txt' from sudo to abhishek
changed group of 'sample/text' from sudo to abhishek
changed group of 'sample' from sudo to abhishek

您可能会注意到,详细模式还表明文件组是否保持不变。如果您只想查看组所有权实际发生更改的文件的此信息,则可以使用选项 -c。

提示:您可以使用 chgrp 为命令(在 bin 或 init 中)授予执行权限,或者使属于特定组(而不是 root)的所有用户都可以执行该命令。

4. 与参考文件相同地更改组所有权

想象一下,您想要将文件 A 的组更改为与文件 B 相同的组。您会怎么做?您可以查找文件 B 的组,然后使用 chgrp 命令和文件 B 的组名。

嗯,这是一种方法。但是,chgrp 提供了一种基于参考文件更改组的专用方法,而不是显式使用组的名称。

chgrp --reference=file2 file1

如果您正在编写需要将文件的组所有者更改为参考文件的脚本,这将特别有用。

5. 将 chgrp 与符号链接一起使用

默认情况下,如果将 chgrp 命令与符号链接一起使用,则引用文件的组所有者会发生更改,而符号链接组保持不变。

例如,这是链接及其引用文件的状态:

ls -l agatha.txt link.txt 
-r--r--rw- 1 abhishek abhishek 457 Aug 10 11:55 agatha.txt
lrwxrwxrwx 1 abhishek abhishek  10 Aug 19 10:19 link.txt -> agatha.txt

现在,如果您像这样更改符号链接的组:

chgrp sudo link.txt

符号链接组将保持不变,而引用文件的组将更改。

ls -l agatha.txt link.txt 
-r--r--rw- 1 abhishek sudo     457 Aug 10 11:55 agatha.txt
lrwxrwxrwx 1 abhishek abhishek  10 Aug 19 10:19 link.txt -> agatha.txt

如果您只想更改符号链接的组所有权而不更改引用的文件本身,则可以使用 -h 选项。

chgrp -h sudo link.txt

但是,我不会建议这样做,因为在 Linux 中,链接权限没有意义。此处重要的是引用的文件。

当可以使用 chown 更改组时为什么要使用 chgrp ?

您还可以使用 chown 命令更改文件的组,但通过 chown 命令仅更改组并不标准。此外,为此目的使用 chown 可能会造成混乱。 chgrp 非常简单,建议使用 chgrp 命令来更改文件或目录的组。

我希望您喜欢 chgrp 命令示例。如果您有疑问或建议或简单的感谢,请使用下面的评论框。

©2015-2025 艾丽卡 support@alaica.com