1. 程式人生 > >每天一個linux命令:chgrp命令

每天一個linux命令:chgrp命令

在lunix系統裡,檔案或目錄的許可權的掌控以擁有者及所訴群組來管理。可以使用chgrp指令取變更檔案與目錄所屬群組,這種方式採用群組名稱或群組識別碼都可以。Chgrp命令就是change group的縮寫!要被改變的組名必須要在/etc/group檔案記憶體在才行。

1.命令格式:

chgrp [選項] [組] [檔案]

2.命令功能:

chgrp命令可採用群組名稱或群組識別碼的方式改變檔案或目錄的所屬群組。使用許可權是超級使用者。

3.命令引數:

必要引數:

  • -c 當發生改變時輸出除錯資訊
  • -f 不顯示錯誤資訊
  • -R 處理指定目錄以及其子目錄下的所有檔案
  • -v 執行時顯示詳細的處理資訊
  • –dereference 作用於符號連結的指向,而不是符號連結本身
  • –no-dereference 作用於符號連結本身

選擇引數:

  • –reference=<檔案或者目錄>
  • –help 顯示幫助資訊
  • –version 顯示版本資訊

4.使用例項:

例項1:改變檔案的群組屬性
命令:

chgrp -v bin log2012.log

輸出:

[root@localhost test]# ll
---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log
[root@localhost test]# chgrp -v bin log2012.log
“log2012.log” 的所屬組已更改為 bin [root@localhost test]# ll ---xrw-r-- 1 root bin 302108 11-13 06:03 log2012.log

說明:

將log2012.log檔案由root群組改為bin群組

例項2:根據指定檔案改變檔案的群組屬性
命令:

chgrp --reference=log2012.log log2013.log

輸出:

[root@localhost test]# ll
---xrw-r-- 1 root bin  302108 11-13 06:03 log2012.log
-rw-r--r-- 1
root root 61 11-13 06:03 log2013.log [root@localhost test]# chgrp --reference=log2012.log log2013.log [root@localhost test]# ll ---xrw-r-- 1 root bin 302108 11-13 06:03 log2012.log -rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log

說明:

改變檔案log2013.log 的群組屬性,使得檔案log2013.log的群組屬性和參考檔案log2012.log的群組屬性相同

例項3:改變指定目錄以及其子目錄下的所有檔案的群組屬性
命令:

chgrp -R bin test6

輸出:

[root@localhost test]# ll
drwxr-xr-x 2 root root   4096 11-30 08:39 test6
[root@localhost test]# cd test6
[root@localhost test6]# ll
---xr--r-- 1 root root 302108 11-30 08:39 linklog.log
---xr--r-- 1 root root 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root root     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root root      0 11-30 08:39 log2014.log
-rw-r--r-- 1 root root      0 11-30 08:39 log2015.log
-rw-r--r-- 1 root root      0 11-30 08:39 log2016.log
-rw-r--r-- 1 root root      0 11-30 08:39 log2017.log
[root@localhost test6]# cd ..
[root@localhost test]# chgrp -R bin test6
[root@localhost test]# cd test6
[root@localhost test6]# ll
---xr--r-- 1 root bin 302108 11-30 08:39 linklog.log
---xr--r-- 1 root bin 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root bin     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root bin      0 11-30 08:39 log2014.log
-rw-r--r-- 1 root bin      0 11-30 08:39 log2015.log
-rw-r--r-- 1 root bin      0 11-30 08:39 log2016.log
-rw-r--r-- 1 root bin      0 11-30 08:39 log2017.log
[root@localhost test6]# cd ..
[root@localhost test]# ll
drwxr-xr-x 2 root bin    4096 11-30 08:39 test6
[root@localhost test]#

說明:

改變指定目錄以及其子目錄下的所有檔案的群組屬性

例項4:通過群組識別碼改變檔案群組屬性
命令:

chgrp -R 100 test6

輸出:

[root@localhost test]# chgrp -R 100 test6
[root@localhost test]# ll
drwxr-xr-x 2 root users   4096 11-30 08:39 test6
[root@localhost test]# cd test6
[root@localhost test6]# ll
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 root users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log
[root@localhost test6]#

說明:

通過群組識別碼改變檔案群組屬性,100為users群組的識別碼,具體群組和群組識別碼可以去/etc/group檔案中檢視