Linux 中的 chgrp 命令——完整概述

chgrp 命令 代表更改组权限。 它是 *nix 平台上的一个实用程序,用于将每个文件的组所有权更改为某个给定的 GROUP。

如何使用chgrp命令?

让我们先从 chgrp 命令的基本语法开始,然后深入了解如何使用该工具。

 chgrp [OPTION]... GROUP FILE...  chgrp [OPTION]... --reference=RFILE FILE... 

您可以使用 ls 命令

ls -l 

现在如果你想改变一个文件的组权限,你可以用 chgrp 命令:

sudo chgrp groupname filename 

同样,您还可以通过以下方式更改文件夹的组:

sudo chgrp groupname foldername 

要更改文件和文件夹的组(递归),请使用上述命令 -R 或者 –递归

sudo chgrp -R groupname foldername 

您还可以使用参考文件更改组而不是指定组值,假设我们有一个名为 测试.txt 它与某个组相关联,并且有一个名为 FTP/ 我们想要将组更改为与之关联的组 测试.txt 我们可以通过以下方式做到这一点:

sudo chgrp -R --reference=referencefile filename 

-v 或者 – 冗长 将输出为文件处理的每个诊断,

-C 或者 -变化 option 与verbose 非常相似,但只有在进行更改时才会输出,

Chgrp 使用 C 选项运行

-F 或者 -沉默的 或者 -安静的 用于抑制错误消息。

递归标志 (-R)

与递归一起使用的标志很少(-R) 对于操作如何穿越,它们如下:

我们将在以下目录树上测试这些选项。

ftp/ ├── remotedir │   └── newdir │       ├── newtest.txt │       └── oldtest.txt ├── sym_web -> /home/suryansh/web └── test.txt  

和,

web ├── index.html ├── public_html └── style     └── style.css 

1. 该 -H 或者 – 无解引用 选项只会更改特定符号链接的组所有权,而不是该符号链接内的内容。

Sudo Chgrp HR Nogroup Ftp 1

因此,正如您在上图中所看到的,使用 -h 标志实际上甚至更改了符号链接的标志,并且不会遍历符号链接。

2. 该 -H 选项将更改所有文件和目录的组,但不会更改符号链接和目录及其符号链接的内容。

Sudo Chgrp HR Nogroup Ftp 1

正如你在上面的例子中看到的,符号链接组没有改变,所以创建符号链接的目录中的内容没有改变。

3. 该 -L option 将更改所有文件和目录的组,当遇到符号链接时,它将穿越符号链接并更改其中的文件和目录组。 但是,符号链接将保持原样!

须藤 Chgrp LR Nogroup Ftp

您可以在上面的示例中看到,组中的文件和目录已更改 FTP/ 但不适用于符号链接 ftp/sym_web. 但是递归穿过符号链接到目录(网络/) 并更改了目录的组 (网络/) 以及其中的内容。

4. 在里面 -P 标志,递归不会穿过符号链接。 它是默认标志 -R 选项。

Sudo Chgrp PR Nogroup Ftp

你可以在上面的例子中看到,当我们执行 -R 选项与 -L 标志,组已更改为 FTP/ 和内容里面的所有内容 FTP/ 但递归没有穿过符号链接,所以组 网络/ 以及里面的内容 网络/ 没有改变。

结论

使用 chgrp 命令非常简单,但递归可能有点棘手。 我们希望您喜欢本教程! ?