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文件中的內容。