Linux上的chgrp命令更改文件或目录的组所有权。为什么用它代替食物?有时瑞士**很不错,但当你真的需要手术刀时,只有手术刀可以。
可以使用chgrp命令更改文件或目录的组所有权。chown命令允许您更改文件或目录的用户所有者和组所有者。那么为什么需要或使用chgrp呢?
首先,这很简单。使用chown来更改组所有者设置有点违反直觉。你必须非常小心语法。它取决于冒号“:”的正确位置。把它放错地方,你就不会做出你认为的改变。
chgrp的语法更简单。它还有一个简洁的特性,可以简单地告诉您它刚刚做了哪些更改。
它是为手头的任务专门构建的专用工具。chgrp完全支持Unix的设计原则,即只做一件事,把它做好。让我们看看它能提供什么。
更改文件的组所有权非常简单。必须将sudo与chgrp一起使用。组不归用户所有,因此文件或目录是否从一个组移动到另一个组并不是普通用户的决定。这是一个有根权限的人的工作。
我们要更改名为“gc.C”的C源文件的组所有权。我们要将其更改为“devteam”组。
我们可以使用ls和-l(longlisting)选项来检查当前的所有权值。
长征-长征
这是更改组所有权的命令。键入sudo、a space、chgrp、a space、要设置为组所有者的组的名称、空格和文件名。
sudo chgrp devteam gc.c我们将再次使用ls-l检查是否进行了更改。
ls -l我们可以看到,组所有权已从“dave”更改为“devteam”
要同时更改一组文件的组所有权,可以使用通配符。让我们更改当前目录中所有C源文件的组所有权。我们将使用以下命令:
sudo chgrp devteam *.c我们可以使用ls-l检查是否按照预期进行了更改。
ls -l此目录中的所有C源文件都已更改,因此其组所有权为“devteam”
通过使用-c(changes)选项,chgrp将列出它对每个文件所做的更改。假设我们犯了一个错误,我们希望C源文件的组所有权设置为“researchlab”,现在我们来纠正这个错误。我们将使用以下命令:
sudo chgrp -c researchlab *.c这些变化是为我们所做的,每一个都会在发生时列出,让我们验证我们所做的变化是正确的。
更改目录的组所有权同样简单。我们可以使用此命令更改目录“backup”的组所有权
sudo chgrp -c devteam ./backup很明显,这个命令将改变目录本身的组所有权,而不是目录中的文件。我们将使用ls-l和-d(directory)选项来验证这种情况。
ls -l -d目录本身的组所有权已更改为“devteam”
如果要更改目录中存储的文件和目录的组所有权,可以使用-R(递归)选项。这将导致chgrp更改目标目录下所有文件和子目录的组所有权。
让我们用“备份”目录试试这个。命令如下:
sudo chgrp -R devteam ./backup我们将使用ls命令检查其中一个嵌套子目录中的文件,还将使用ls检查其中一个嵌套子目录的设置。
ls -l ./backup/images ls -l -d ./backup/images我们可以看到嵌套子目录中的文件和嵌套子目录的组所有权都发生了更改。
到目前为止,我们已经明确告诉chgrp我们希望使用的组的名称。我们还可以使用chgrp,即“将此文件的组所有权设置为与该文件相同的组所有权”
让我们将“gc.h”的组所有权设置为与“gc.c”相同
我们可以使用ls检查“gc.c”和“gc.h”的当前设置。
ls -l gc.c ls -l gc.h我们需要使用的选项是--reference选项。组所有权将从引用文件复制到另一个文件。小心把文件拿对。
sudo chgrp --reference=gc.c gc.h我们将使用ls检查设置是否已转移到“gc.h”
ls -l gc.h文件“gc.h”现在与“gc.c”具有相同的组所有权
我们可以使用chgrp来更改符号链接或符号链接指向的文件的组所有权。
在本例中,我们创建了一个名为“button\u link”的符号链接,它指向一个名为“./backup/images/button”的文件_关于.png”要更改文件的组所有权,必须使用--dereference选项。这将更改文件的设置并保持符号链接不变。
让我们使用ls-l检查符号链接的设置。
ls -l button_link更改文件的命令是:
sudo chgrp --dereference devteam button_link我们将使用ls检查符号链接是否保持不变,还将检查文件的组所有权设置。
ls -l button_link ls -l ./backup/images/button_about.png符号链接保持不变,并且_关于.png“文件的组所有权已被修改。
要更改符号链接本身的组所有权,必须使用--no-dereference选项。
要使用的命令是:
sudo chgrp --no-dereference devteam button_link我们将使用ls-l来验证是否为符号链接设置了新的组所有权。
ls -l button-link这次受影响的项目是符号链接本身,而不是它指向的文件。
简单就是好。这意味着要记住的东西少了,要混淆的东西也少了。这应该意味着更少的错误。
... 在本文中,我将向您展示如何在Linux上安装、运行和使用PowerShell! ...
...许您在Android设备上安装诚实善良的Linux应用程序。下面是如何使用Termux应用程序。 ...
... 如何在windows10上安装linux bash shell ...
要在Linux中重命名文件吗?如果您知道如何在Windows、macOS或Chrome操作系统中完成这项工作,那么您就知道如何在这里完成这项工作。在大多数版本的Linux上,您只需右键单击一个文件并选择Rename选项。 ...
... 无论如何,要学习的最基本的Linux命令之一是一个称为chmod的小而强大的命令。但是在解释这个命令的作用之前,我们必须先了解一下Linux是如何处理文件安全的。 ...
想在Linux系统上添加用户但不知道如何添加?在Linux上使用命令行界面管理用户无疑是一项复杂的工作。而对于初学者来说,即使添加新用户也是一场噩梦。 ...