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,您可能需要超级用户权限。在这种情况下,您应该会看到“不允许操作”错误。
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 命令示例。如果您有疑问或建议或简单的感谢,请使用下面的评论框。