linux每日命令(28):chgrp命令
在linux系統裡,檔案或目錄的許可權的掌控以擁有者及所屬群組來管理。可以使用chgrp指令取變更檔案與目錄所屬群組,這種方式採用群組名稱或群組識別碼都可以。Chgrp命令就是change group的縮寫!要被改變的組名必須要在/etc/group檔案記憶體在才行。
一.命令格式:
chgrp [選項] [組] [檔案]
二.命令功能:
chgrp命令可採用群組名稱或群組識別碼的方式改變檔案或目錄的所屬群組。使用許可權是超級使用者 。
三.命令引數:
引數 | 描述 |
---|---|
-c | 當發生改變時輸出除錯資訊 |
-f | 不顯示錯誤資訊 |
-R | 處理指定目錄以及其子目錄下的所有檔案 |
-v | 執行時顯示詳細的處理資訊 |
--dereference | 作用於符號連結的指向,而不是符號連結本身 |
--no-dereference | 作用於符號連結本身 |
--reference=<檔案或者目錄> | 根據指定檔案改變檔案的群組屬性 |
--help | 顯示幫助資訊 |
--version | 顯示版本資訊 |
四.使用例項:
1:改變檔案的群組屬性
命令:
chgrp -v bin log1
輸出:
[root@localhost test]# ll log1 ---xrw-r--. 2 root root 0 Nov 22 03:54 log1 [root@localhost test]# chgrp -v bin log1 changed group of ‘log1’ from root to bin [root@localhost test]# ll log1 ---xrw-r--. 2 root bin 0 Nov 22 03:54 log1
說明:
將log1檔案由root群組改為bin群組
2:根據指定檔案改變檔案的群組屬性
命令:
chgrp --reference=log1 dir2
輸出:
[root@localhost test]# ll total 0 drwxr-xr-x. 4 root root 159 Nov 20 19:24 dir1 drwxr-xr-x. 2 root root 30 Nov 26 19:34 dir2 ---xrw-r--. 2 root bin 0 Nov 22 03:54 log1 ---xrw-r--. 2 root bin 0 Nov 22 03:54 log1.hard_link lrwxrwxrwx. 1 root root 4 Nov 22 03:54 log1.link -> log1 [root@localhost test]# chgrp --reference=log1 dir2 [root@localhost test]# ll total 0 drwxr-xr-x. 4 root root 159 Nov 20 19:24 dir1 drwxr-xr-x. 2 root bin 30 Nov 26 19:34 dir2 ---xrw-r--. 2 root bin 0 Nov 22 03:54 log1 ---xrw-r--. 2 root bin 0 Nov 22 03:54 log1.hard_link lrwxrwxrwx. 1 root root 4 Nov 22 03:54 log1.link -> log1
說明:
改變目錄檔案dir2 的群組屬性,使得目錄檔案dir2 的群組屬性和參考檔案log1的群組屬性相同
3:改變指定目錄以及其子目錄下的所有檔案的群組屬性
命令:
chgrp -R bin dir1
輸出:
[root@localhost test]# ll total 0 drwxr-xr-x. 4 root root 159 Nov 20 19:24 dir1 drwxr-xr-x. 2 root bin 30 Nov 26 19:34 dir2 ---xrw-r--. 2 root bin 0 Nov 22 03:54 log1 ---xrw-r--. 2 root bin 0 Nov 22 03:54 log1.hard_link lrwxrwxrwx. 1 root root 4 Nov 22 03:54 log1.link -> log1 [root@localhost test]# ll dir1 total 44 -rwxrwxr-x. 1 root root 0 Nov 20 18:53 log1 -rw-r--r--. 1 root root 50 Nov 20 18:56 log2 drwxr-xr-x. 2 root root 44 Nov 20 19:35 log3 -rw-r--r--. 1 root root 2683 Nov 17 00:23 logging.py -rw-r--r--. 1 root root 3877 Nov 17 00:23 logging.pyc -rw-r--r--. 1 root root 2410 Nov 17 00:23 log.py -rw-r--r--. 1 root root 3640 Nov 17 00:23 log.pyc drwxr-xr-x. 3 root root 30 Nov 17 00:15 logs -rw-r--r--. 1 root root 9679 Nov 17 00:23 log_test.py -rw-r--r--. 1 root root 10246 Nov 17 00:23 log_test.pyc [root@localhost test]# chgrp -R bin dir1 [root@localhost test]# ll dir1 total 44 -rwxrwxr-x. 1 root bin 0 Nov 20 18:53 log1 -rw-r--r--. 1 root bin 50 Nov 20 18:56 log2 drwxr-xr-x. 2 root bin 44 Nov 20 19:35 log3 -rw-r--r--. 1 root bin 2683 Nov 17 00:23 logging.py -rw-r--r--. 1 root bin 3877 Nov 17 00:23 logging.pyc -rw-r--r--. 1 root bin 2410 Nov 17 00:23 log.py -rw-r--r--. 1 root bin 3640 Nov 17 00:23 log.pyc drwxr-xr-x. 3 root bin 30 Nov 17 00:15 logs -rw-r--r--. 1 root bin 9679 Nov 17 00:23 log_test.py -rw-r--r--. 1 root bin 10246 Nov 17 00:23 log_test.pyc
說明:
將dir1目錄以及其子目錄下的所有檔案的群組屬性由root改變為bin
4:通過群組識別碼改變檔案群組屬性
命令:
chgrp -R 0 dir1
輸出:
[root@localhost test]# cat /etc/group root:x:0: bin:x:1: daemon:x:2: sys:x:3: ... [root@localhost test]# chgrp -R 0 dir1 [root@localhost test]# ll total 0 drwxr-xr-x. 4 root root 159 Nov 20 19:24 dir1 drwxr-xr-x. 2 root bin 30 Nov 26 19:34 dir2 ---xrw-r--. 2 root bin 0 Nov 22 03:54 log1 ---xrw-r--. 2 root bin 0 Nov 22 03:54 log1.hard_link lrwxrwxrwx. 1 root root 4 Nov 22 03:54 log1.link -> log1 [root@localhost test]# ll dir1 total 44 -rwxrwxr-x. 1 root root 0 Nov 20 18:53 log1 -rw-r--r--. 1 root root 50 Nov 20 18:56 log2 drwxr-xr-x. 2 root root 44 Nov 20 19:35 log3 -rw-r--r--. 1 root root 2683 Nov 17 00:23 logging.py -rw-r--r--. 1 root root 3877 Nov 17 00:23 logging.pyc -rw-r--r--. 1 root root 2410 Nov 17 00:23 log.py -rw-r--r--. 1 root root 3640 Nov 17 00:23 log.pyc drwxr-xr-x. 3 root root 30 Nov 17 00:15 logs -rw-r--r--. 1 root root 9679 Nov 17 00:23 log_test.py -rw-r--r--. 1 root root 10246 Nov 17 00:23 log_test.pyc
說明:
通過群組識別碼改變檔案群組屬性,0為root群組的識別碼,具體群組和群組識別碼可以去/etc/group檔案中檢視