
什么是chgrp命令
如果你使用过chmod命令,那么你应该知道Linux中的文件权限,那你也可能知道“用户组”的所有权。
Linux中chgrp命令用于更改文件或目录的组,它代表“变更组”。
它的语法是这样的:
chgrp [options] groupname file
本文介绍关于chgrp的5个比较实用的例子。
1. 更改文件/目录组
这是chgrp最简单、也许也是最重要的用法。要更改文件或目录的组所有权,可以按以下方式使用chgrp命令:
chgrp group_name file_name
也可以一次更改多个文件的组:
chgrp group_name file1 file2 file3
在更改文件组的时候,不必与目标文件在同一目录中,可以使用绝对路径或者相对路径。
另外,你所在的用户组权限很重要。如果尝试将组更改为admin或root,则可能需要超级用户权限。否则在这种情况下,你应该看到“不允许操作”的错误。提示:chgrp支持tab完成。只需为组名键入几个字母,然后按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将execute权限授予某个命令(在bin或init中),或者让属于特定组(而不是root)的所有用户都可以执行该命令。
4. 将组所有权更改为与引用文件相同
假设您要将文件A的组更改为与文件B相同的组。你会怎么做?您可以查找文件B的组,然后使用组名为文件B的chgrp命令。
嗯,这是一种方法。但是,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命令仅更改组不是标准的。chgrp非常简单,建议使用chgrp命令更改文件或目录的组。
转载请注明:XAMPP中文组官网 » Linux下chgrp命令的5个实例