chown 命令用来更改文件或者目录的所有者和所属群组。使用这个命令需要超级用户的权限。
命令格式
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
命令参数
-c, --changes
类似 -v 选项,但只在发生改变时才显示诊断信息。
--dereference
作用的是符号链接所引用的对象,而非符号链接本身。
-h, --no-dereference
作用的是每个符号链接而不是它们引用的文件。(当系统支持更改符号链接的所有者时,此选项才有用)
--preserve-root
禁止对根目录进行递归操作。
-f, --silent, --quiet
去除大部份的错误信息。
--reference=RFILE
使用 RFILE 文件的所有者和所属群组,而非自行指定 OWNER:GROUP 值。
-R, --recursive
递归地操作文件和目录。
-v, --verbose
处理每个文件时,显示诊断信息。
--help
显示帮助信息。
--version
显示版本信息。
当 -R 选项指定时,以下的选项指定了层次的遍历的方式。如果指定了多个选项,则只有最后一个选项会生效。
-H
如果命令行参数是一个引用目录的符号链接,则遍历该符号链接。
-L
遍历每个遇到的引用目录的符号链接。
-P
不会遍历任何的符号链接(默认选项)。
chown 命令参数实例
参数 | 结果 |
huey | 把文件所有者从当前所有者更改为用户 huey。 |
huey:users | 把文件所有者从当前所有者更改为用户 huey,并把文件所属群组更改为 users 组。 |
:admins | 把文件所属群组更改为 admins 组,文件所有者不变。 |
huey | 把文件所有者从当前所有者更改为用户 huey,并把文件所属群组更改为 huey 登录系统时所属的群组。 |
实例
a) 将文件 hello.txt 的所有者更为用户 sugar。
[huey@huey-K42JE cmdline]$ ls -l hello.txt
-rw-rw-r-- 1 huey huey 0 Oct 10 12:36 hello.txt
[huey@huey-K42JE cmdline]$ su -c 'chown sugar hello.txt'
Password:
[huey@huey-K42JE cmdline]$ ls -l hello.txt
-rw-rw-r-- 1 sugar huey 0 Oct 10 12:36 hello.txt
相关命令
chgrp - 更改文件的所属群组,与 chown 用法几乎相同,但只能更改文件的所属群组而不能更改文件的所有者。