回到手册索引

命令用途

chown(change owner)是一个非常常用的 Linux/Unix 命令,主要用于更改文件或目录的所有者和所属的用户组。

常用用法示例

  1. 更改文件的所有者

    1
    chown user1 file1.txt

    将文件 file1.txt 的所有者更改为 user1。执行后,file1.txt 的所有者将变为 user1,输出内容无。

  2. 更改文件的所有者和用户组

    1
    chown user1:group1 file1.txt

    将文件 file1.txt 的所有者更改为 user1,所属用户组更改为 group1。输出内容无。

  3. 递归更改目录及其中所有文件的所有者

    1
    chown -R user1:group1 /home/user1

    将目录 /home/user1 及其下的所有文件和子目录的所有者更改为 user1,所属用户组更改为 group1。

  4. 仅更改目录的所有者

    1
    chown user1 /home/user1/

    将目录 /home/user1/ 的所有者更改为 user1,但不影响该目录下的文件和子目录。

  5. 仅更改文件的用户组

    1
    chown :group1 file1.txt

    将文件 file1.txt 的所属用户组更改为 group1,不更改文件的所有者。

  6. 更改多个文件的所有者和用户组

    1
    chown user1:group1 file1.txt file2.txt

    将文件 file1.txt 和 file2.txt 的所有者更改为 user1,所属用户组更改为 group1。

  7. 使用通配符更改多个文件的所有者

    1
    chown user1:group1 *.txt

    将当前目录下所有扩展名为 .txt 的文件的所有者更改为 user1,所属用户组更改为 group1。

  8. 查看文件更改的所有者

    1
    ls -l file1.txt

    显示文件 file1.txt 的详细信息,查看文件的当前所有者和用户组。此命令常用于验证 chown 命令的效果。

常用参数选项

  • -R, –recursive
    递归地改变指定目录及其下的所有文件和子目录的所有者和/或用户组。

  • -v, –verbose
    在执行过程中显示详细信息,列出所有变更的文件及其新的所有者和用户组。

  • -f, –silent, –quiet 静默模式
    不显示错误信息,即使文件无法更改也不输出任何内容。

  • –reference=RFILE
    根据指定的参考文件 RFILE 来更改文件或目录的所有者和/或用户组,保持参考文件的设置。

  • –no-dereference
    如果文件是符号链接,仅更改符号链接本身的所有者,而不是符号链接指向的文件的所有者。

  • -c, –changes
    仅在文件的所有者或用户组发生变化时才显示信息。

  • -h, –no-dereference
    更改符号链接本身的所有者和用户组,而不是链接指向的文件。

  • -L, –follow-symlinks
    跟随符号链接更改其指向的文件的所有者和/或用户组,而不仅仅是符号链接本身。

原厂文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
NAME 

chown - change file owner and group

SYNOPSIS

chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...

DESCRIPTION

This manual page documents the GNU version of chown. chown
changes the user and/or group ownership of each given file. If
only an owner (a user name or numeric user ID) is given, that user
is made the owner of each given file, and the files' group is not
changed. If the owner is followed by a colon and a group name (or
numeric group ID), with no spaces between them, the group
ownership of the files is changed as well. If a colon but no
group name follows the user name, that user is made the owner of
the files and the group of the files is changed to that user's
login group. If the colon and group are given, but the owner is
omitted, only the group of the files is changed; in this case,
chown performs the same function as chgrp. If only a colon is
given, or if the entire operand is empty, neither the owner nor
the group is changed.

OPTIONS

Change the owner and/or group of each FILE to OWNER and/or GROUP.
With --reference, change the owner and group of each FILE to those
of RFILE.

-c, --changes
like verbose but report only when a change is made

-f, --silent, --quiet
suppress most error messages

-v, --verbose
output a diagnostic for every file processed

--dereference
affect the referent of each symbolic link (this is the
default), rather than the symbolic link itself

-h, --no-dereference
affect symbolic links instead of any referenced file
(useful only on systems that can change the ownership of a
symlink)

--from=CURRENT_OWNER:CURRENT_GROUP
change the ownership of each file only if its current owner
and/or group match those specified here. Either may be
omitted, in which case a match is not required for the
omitted attribute

--no-preserve-root
do not treat '/' specially (the default)

--preserve-root
fail to operate recursively on '/'

--reference=RFILE
use RFILE's ownership rather than specifying values. RFILE
is always dereferenced if a symbolic link.

-R, --recursive
operate on files and directories recursively

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. -P is the default.

-H if a command line argument is a symbolic link to a
directory, traverse it

-L traverse every symbolic link to a directory encountered

-P do not traverse any symbolic links

--help display this help and exit

--version
output version information and exit

Owner is unchanged if missing. Group is unchanged if missing, but
changed to login group if implied by a ':' following a symbolic
OWNER. OWNER and GROUP may be numeric as well as symbolic.

EXAMPLES

chown root /u
Change the owner of /u to "root".

chown root:staff /u
Likewise, but also change its group to "staff".

chown -hR root /u
Change the owner of /u and subfiles to "root".

AUTHOR

Written by David MacKenzie and Jim Meyering.

REPORTING BUGS

GNU coreutils online help:
<https://www.gnu.org/software/coreutils/>
Report any translation bugs to
<https://translationproject.org/team/>

COPYRIGHT

Copyright © 2025 Free Software Foundation, Inc. License GPLv3+:
GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

chown(2)

Full documentation <https://www.gnu.org/software/coreutils/chown>
or available locally via: info '(coreutils) chown invocation'

COLOPHON

This page is part of the coreutils (basic file, shell and text
manipulation utilities) project. Information about the project
can be found at ⟨http://www.gnu.org/software/coreutils/⟩. If you
have a bug report for this manual page, see
⟨http://www.gnu.org/software/coreutils/⟩. This page was obtained
from the tarball coreutils-9.6.tar.xz fetched from
⟨http://ftp.gnu.org/gnu/coreutils/⟩ on 2024-02-02. If you
discover any rendering problems in this HTML version of the page,
or you believe there is a better or more up-to-date source for the
page, or you have corrections or improvements to the information
in this COLOPHON (which is not part of the original manual page),
send a mail to man-pages@man7.org