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文件中查看

上一篇:Python学习,第一课 - 基础学习


下一篇:PHP与JAVA构造函数的区别