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 run.py

輸出:

[yiibai@localhost scripts]$ ll
total 0
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:11 run.exe
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:10 run.sh
[yiibai@localhost scripts]$ chgrp -v bin run.py
chgrp: changing group of ‘run.py’: Operation not permitted
failed to change group of ‘run.py’ from yiibai to bin
[yiibai@localhost scripts]$ su root
Password:
[root@localhost scripts]# chgrp -v bin run.py
changed group of ‘run.py’ from yiibai to bin
[root@localhost scripts]# ll
total 0
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:11 run.exe
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai bin    0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:10 run.sh
[root@localhost scripts]#

說明:將run.py檔案由yiibai群組改為bin群組

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

命令:

chgrp --reference=run.py run.pl

輸出:

[root@localhost scripts]# ll
total 0
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:11 run.exe
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai bin    0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:10 run.sh
[root@localhost scripts]# chgrp --reference=run.py run.pl
[root@localhost scripts]# ll
total 0
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:11 run.exe
-rw-rw-r--. 1 yiibai bin    0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai bin    0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:10 run.sh
[root@localhost scripts]#

說明:改變檔案 run.pl 的群組屬性,使得檔案run.pl的群組屬性和參考檔案run.py的群組屬性相同

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

命令演示及輸出:

[root@localhost yiibai]# ll scripts/
total 0
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:11 run.exe
-rw-rw-r--. 1 yiibai bin    0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai bin    0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai yiibai 0 Feb 17 02:10 run.sh
[root@localhost yiibai]# chgrp -R bin scripts/
[root@localhost yiibai]# ll scripts/
total 0
-rw-rw-r--. 1 yiibai bin 0 Feb 17 02:11 run.exe
-rw-rw-r--. 1 yiibai bin 0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai bin 0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai bin 0 Feb 17 02:10 run.sh
[root@localhost yiibai]#

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

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

命令:

chgrp -R 99 scripts/

輸出:

[root@localhost yiibai]# ll scripts/
total 0
-rw-rw-r--. 1 yiibai bin 0 Feb 17 02:11 run.exe
-rw-rw-r--. 1 yiibai bin 0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai bin 0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai bin 0 Feb 17 02:10 run.sh
[root@localhost yiibai]# chgrp -R 99 scripts/
[root@localhost yiibai]# ll scripts/
total 0
-rw-rw-r--. 1 yiibai nobody 0 Feb 17 02:11 run.exe
-rw-rw-r--. 1 yiibai nobody 0 Feb 17 02:11 run.pl
-rw-rw-r--. 1 yiibai nobody 0 Feb 17 02:10 run.py
-rw-rw-r--. 1 yiibai nobody 0 Feb 17 02:10 run.sh
[root@localhost yiibai]#

說明:通過群組識別碼改變檔案群組屬性,99nobody 群組的識別碼,具體群組和群組識別碼可以檢視/etc/group檔案中的內容。