Linux chown命令教程:如何改变文件或目录的所有者和组(附案例详解和注意事项)

我要下东西噢 2024-06-24 17:37:03 阅读 80

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

即使newinvalidusernewinvalidgroup可能不存在,这个命令也不会报任何错误,但是,所有者和组的更改不会生效。

实例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相关命令

chgrp命令:用于改变文件或目录的组chmod命令:用于更改文件或目录的权限ls命令:用于列出目录下的内容touch命令:用于修改文件时间戳,或新建文件mkdir命令:用于创建目录cp命令:用于复制文件或目录mv命令:用于移动或重命名文件或目录rm命令:用于删除文件或目录find命令:用于查找文件或目录ln命令:用于创建链接文件


声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。