chgrp
简介
chgrp(change group) 在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。
功能说明
变更文件或目录的所属群组。
语 法
chgrp [-cfhRv][--help][--version][所属群组][文件或目录...] 或 chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]
参 数
-c或--changes 效果类似"-v"参数,但仅回报更改的部分。
-f或--quiet或--silent 不显示错误信息。
-h或--no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。
-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或--verbose 显示指令执行过程。
--help 在线帮助。
--reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
--version 显示版本信息。
chgrp命令
========测试环境: Fedora Core 6.0;内核:2.6.18========
#首先建立一个文档,为普通用户文档。
[klot@localhost ~]$ echo aa>>1
[klot@localhost ~]$ ls -al 1
-rw-r--r-- 1 klot users 3 08-16 21:26 1
[klot@localhost ~]$
#su
[klot@localhost ~]$ su
口令:
[root@localhost klot]# ls -al 1
-rw-r--r-- 1 klot users 3 08-16 21:26 1
#最基本的用法
[root@localhost klot]# chgrp root 1
[root@localhost klot]# ls -al 1
-rw-r--r-- 1 klot root 3 08-16 21:26 1
[root@localhost klot]#
# -R之后可以更改目录中的子目录,也即使归档处理。我不举例子了。很有用的参数。
[root@localhost klot]# chgrp users 1
[root@localhost klot]# ls -al 1
-rw-r--r-- 1 klot users 3 08-16 21:26 1
[root@localhost klot]# chgrp -c root 1
“1” 的所属组已更改为 root
#以上,-c与-v类似,但是v表示无论如何也要显示结果,c表示只有更改组之后才显示结果。
[root@localhost klot]# ln -s ./1 ./Desktop/11
[root@localhost klot]# ls -al ./Desktop/11
lrwxrwxrwx 1 root root 3 08-16 21:39 ./Desktop/11 -> ./1
[root@localhost klot]# chgrp -h users ./Desktop/11
[root@localhost klot]# chgrp -h -v users ./Desktop/11
“./Desktop/11” 的所属组已保留为 users
[root@localhost klot]#
#以上,ln创建了符号连接,而-h有且只有改变符号连接的用户组,与参数 --dereference正好相反。
#-f为安静模式,不显示大部分错误信息。我不实验了。
The following options modify how a hierarchy is traversed when the -R
option is also specified. If more than one is specified, only the
final one takes effect.
# 以下参数只有和-R同时使用才奏效。如果要转换的文件超过一个,那么只有最后一个奏效。
#-H, if a command line argument is a symbolic link to a directory, traverse it。没明白!!
#(-H, 如果chgrp命令中的参数之一是一个目录的符号连接,那么转换它)
#-L,所有指向目录的连接都会被转换。
#-P,忽略所有符号连接(默认