Linux中chgrp命令的5個實際示例

讓我們看看如何通過這些有用的示例使用chgrp命令。

1.更改一組文件/目錄

這是chgrp的最簡單且也許是最明顯的用法。 要更改文件或目錄的組所有權,可以使用chgrp命令,如下所示:

chgrp

您也可以同時更改多個文件的組:

chgrp

您無需與文件位於同一目錄。 您也可以指定絕對或相對路徑。

您當前的特權很重要。 如果嘗試將組更改為admin或root,則可能需要超級用戶特權。 在這種情況下,您應該看到“不允許操作”錯誤。

提示chgrp支持選項卡。 只需輸入幾個字母作為組名,然後單擊選項卡即可查看哪些組存在這些字母。

2.遞歸使用chgrp更改所有文件和子目錄的組

默認情況下,如果對目錄使用chgrp命令,它將僅更改目錄的組。 文件和子目錄保持不變。

如果要更改目錄和子目錄中所有文件的組,可以使用遞歸選項-R。

chgrp -R

3.知道您是否成功更改了組

您可以使用“ ls -l”命令確定是否更改了組。 但是,如果使用上一節中看到的遞歸選項將組同時更改為多個文件,該怎麼辦?

chgrp命令提供了一種詳細模式,可告訴您chgrp命令執行了哪些操作。 您可以使用-v選項在詳細模式下運行chgrp命令。

chgrp -vR abhishek samplechanged group of 'sample/andreyex.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.將組的所有權更改為與文件鏈接相同的所有權

假設您要以與文件B相同的方式更改文件A的組。您將如何執行此操作? 您可以找到文件組B,然後將chgrp命令與文件B的組名一起使用。

好吧,這是做到這一點的一種方法。 但是,chgrp命令提供了一種專用方法,可基於引用的文件來更改組,而不是顯式使用組名。

chgrp --reference=

如果您正在編寫需要更改文件所有者作為對文件的引用的腳本,則此功能特別有用。

5.將chgrp與符號鏈接一起使用

默認情況下,如果將chgrp命令與符號鏈接一起使用,則這是引用文件的組所有者,當符號鏈接組保持原樣時,該文件所有者會更改。

例如,這是鏈接及其關聯文件的狀態:

ls -l andreyex.txt link.txt 
-r--r--rw- 1 abhishek abhishek 457 Aug 20 10:26 andreyex.txt
lrwxrwxrwx 1 abhishek abhishek  10 Aug 21 11:35 link.txt -> andreyex.txt

現在,如果您像這樣更改符號鏈接的組:

chgrp sudo link.txt

更改引用文件的組時,符號鏈接的組將保持不變。

ls -l andreyex.txt link.txt 
-r--r--rw- 1 abhishek sudo     457 Aug 20 10:26 andreyex.txt
lrwxrwxrwx 1 abhishek abhishek  10 Aug 21 11:35 link.txt -> andreyex.txt

如果只想更改符號鏈接的組所有權,而不要更改引用文件本身的所有權,則可以使用-h選項。

chgrp -h sudo link.txt

但是,我們不會建議這樣做,因為在Linux上,連接權限沒有意義。 這個文件很重要。

可以使用chown更改組時為什麼使用chgrp?

您也可以使用chown命令來更改文件組,但是用chown命令僅更改文件組是不標準的。 chgrp命令非常簡單,建議您使用chgrp命令更改一組文件或目錄。

希望您喜歡chgrp命令示例。 如果您有任何疑問或建議,或者只是謝謝您,請使用下面的評論框。

Sidebar