Linux chown命令教程:如何改变文件或目录的所有者和组(附案例详解和注意事项)
Linux chown命令介绍
chown(change owner)命令在Linux中用于改变文件或目录的所有者和组。每个文件都与一个所有者用户或组相关联。正确配置文件和文件夹权限非常重要。
Linux chown命令适用的Linux版本
chown命令在所有主流的Linux发行版中都可以使用,包括但不限于Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora和Raspbian。在这些系统中,chown命令通常已经预装好了,所以不需要额外安装。
[linux@bashcommandnotfound.cn ~]$ chown [OPTIONS] USER [:GROUP] FILE
Linux chown命令的基本语法
chown命令的基本语法如下:
chown [OPTION]... [OWNER] [: [GROUP]] FILE...
Linux chown命令的常用选项或参数说明
以下是chown命令的一些常用选项:
| 选项 | 说明 |
|---|---|
| -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的所有者和组,而不是指定OWNER:GROUP值 |
| -R, --recursive | 对目录及其内容进行递归操作 |
Linux chown命令实例详解
实例1:改变文件所有者
[linux@bashcommandnotfound.cn ~]$ chown newuser filename
这个命令将文件filename的所有者更改为newuser。
实例2:改变目录所有者
[linux@bashcommandnotfound.cn ~]$ chown newuser directoryname
这个命令将目录directoryname的所有者更改为newuser。
实例3:改变文件所有者和组
[linux@bashcommandnotfound.cn ~]$ chown newuser:newgroup filename
这个命令将文件filename的所有者更改为newuser,并将其组更改为newgroup。
实例4:递归改变目录所有者和组
[linux@bashcommandnotfound.cn ~]$ chown -R newuser:newgroup directoryname
这个命令将目录directoryname及其所有子目录和文件的所有者更改为newuser,并将其组更改为newgroup。
实例5:改变文件所有者,保持组不变
[linux@bashcommandnotfound.cn ~]$ chown newuser: filename
这个命令将文件的所有者更改为newuser,但保持文件的组不变。
实例6:只改变文件所属的组
[linux@bashcommandnotfound.cn ~]$ chown :newgroup filename
这个命令将文件filename的组更改为newgroup,但保持文件的所有者不变。
实例7:显示详细操作信息
[linux@bashcommandnotfound.cn ~]$ chown -v newuser:newgroup filename
这个命令将文件filename的所有者更改为newuser,并将其组更改为newgroup,同时显示执行过程的详细信息。
实例8:若指定组不存在, 终止操作
[linux@bashcommandnotfound.cn ~]$ chown -e newuser:nonexistentgroup filename
这个命令尝试将文件filename的所有者更改为newuser,并将其组更改为nonexistentgroup。如果指定的组不存在,则不会执行任何操作并显示错误信息。
实例9:忽略无效的用户和组
[linux@bashcommandnotfound.cn ~]$ chown -f newinvaliduser:newinvalidgroup filename
即使newinvaliduser和newinvalidgroup可能不存在,这个命令也不会报任何错误,但是,所有者和组的更改不会生效。
实例10:递归改变目录所属的组,保持所有者不变
[linux@bashcommandnotfound.cn ~]$ chown -R :newgroup directoryname
这个命令将目录directoryname及其所有子目录和文件的组更改为newgroup,但保持文件的所有者不变。
实例11:把所属用户和所属组都改回到文件的创建者
[linux@bashcommandnotfound.cn ~]$ chown --reference=otherfile filename
这个命令将文件filename的所有者和组改回otherfile的所有者和组。
实例12:在更改所有者和组时,保留现有的文件模式
[linux@bashcommandnotfound.cn ~]$ chown --preserve-root newuser:newgroup filename
这个命令将文件filename的所有者更改为newuser,并将其组更改为newgroup,同时,在操作期间保留原有的文件属性和权限。
Linux chown命令的注意事项
chown命令需要超级用户权限来执行。- 如果你尝试运行
chown命令但收到了bash: chown: command not found的错误,那么你可能需要使用sudo来获取必要的权限。
Linux chown相关命令
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)