约 6903 字

约 35 分钟

#Bash 的 chown 命令

chown [OPTION]... [OWNER][:[GROUP]] FILE...

功能

修改文件的所有者和所属组。

类型

可执行文件(/usr/bin/chown),属于 coreutils。

参数

  • OPTION 选项:
    • -c, --changes - 仅对发生变化的文件打印详细信息
    • -f, --silent, --quiet - 忽略大部分错误信息
    • -v, --verbose - 打印详细信息
    • --dereference - 影响符号链接引用的源文件,而非符号链接本身(默认)
    • -h, --no-dereference - 影响符号链接本身,而不是其引用的源文件
    • --from=CURRENT_OWNER:CURRENT_GROUP - 仅当文件的所有者和所属主是 CURRENT_OWNER 和 CURRENT_GROUP 才进行修改
    • --no-preserve-root - 不保护 / 目录
    • --preserve-root - 保护 / 目录
    • --reference=RFILE - 引用 RFILE 文件的配置
    • -R, --recursive - 对目录进行递归操作
    • -H - 使用 -R 选项进行递归操作时,指向目录的符号链接只有作为命令行参数时才遍历
    • -L - 使用 -R 选项进行递归操作时,遍历所有指向目录的符号链接
    • -P - 使用 -R 选项进行递归操作时,不遍历任何符号链接(默认)
    • --help - 显示帮助
    • --version - 显示版本
  • OWNER - 要设为的所有者
  • GROUP - 要设为的所属组
  • FILE - 文件列表

#示例

用户名或组名

$ chown planc file.txt                  # 将 file 的所有者设为 planc
$ chown :primers file.txt               # 将 file 的所属组设为 primers
$ chown planc:primers file.txt          # 将 file 的所有者设为 planc 所属组设为 primers

用 ID 或组 ID

$ chown 1001 file.txt                   # 将 file 的所有者 ID 设为 1001
$ chown :1001 file.txt                  # 将 file 的所属组 ID 设为 1001
$ chown 1001:1001 file.txt              # 将 file 的所有者 ID 设为 1001 所属组 ID 设为 1001

其它

$ chown --reference=2.txt 1.txt         # 将 1.txt 的所有者和所属组设为和 2.txt 一样
$ chown planc:primers -R dir            # 递归设置目录 dir 中的文件

修改根目录(危险!)

$ chown planc --no-preserve-root -R /   # 危险!千万不要执行此命令!

#相关命令

命令说明
chgrp修改文件的所属组
chmod修改文件的访问权限

#推荐阅读

#手册

更新: 2026/1/18

作者: PlanC

创建: 2025/11/1