最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Linux下chgrp命令的5个实例

XAMPP相关 admin 58浏览 0评论

什么是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个实例

您必须 登录 才能发表评论!